系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux软件安装

Linux软件如何安装及管理指南(3)

时间:2014-12-15 11:35:00 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20141212/32551.html 手机查看 评论

  User Interface/X Hardware Support (用户界面/X硬件支持)例如:查看当前系统属于“开发/调试器”类别的包有多少,使用以下命令:

  [root@server ~]# rpm -qg “Development/Debuggers”lsof-4.72-1.1crash-4.0-2

  sysreport-1.3.15-5

  ltrace-0.3.36-2.EL4

  strace-4.5.13-0.EL4.1

  valgrind-2.2.0-5.EL4

  valgrind-callgrind-0.9.9-1

  gdb-6.3.0.0-1.63

  pstack-1.2-6

  l -d:显示软件包中的说明文件列表,RPM将软件包中的文件分为三类,一类是配置文件,一类是说明文件,一类是可执行文件。后面跟完整的包名,切忌不是以“.rpm”为后缀的rpm包。

  例如:查看file软件包中的说明文件,使用以下命令:

  [root@server108 cicro]# rpm -qd file-4.10-2/usr/share/doc/file-4.10/LEGAL.NOTICE/usr/share/doc/file-4.10/README

  /usr/share/man/man1/file.1.gz

  /usr/share/man/man3/libmagic.3.gz

  /usr/share/man/man5/magic.5.gz

  l -s:与“-l“选项类似,除了显示软件包中的所有文件列表信息,而且还显示每个文件的状态。RPM已安装的软件包中各个文件拥有四种状态,分别是normal(正常状态,表示文件没有被其它软件包修改过)、not installed(未安装状态,表示文件没有安装)、replaced(已替换状态,表明此文件已经被其它软件包修改替换过了)、net shared(网络共享状态,表示此文件处于网络共享状态)。

  例如:查看ipvsadm-1.24-6包中每个文件的状态,使用以下命令:

  [root@localhost ~]# rpm -i --excludedocs ipvsadm-1.24-6.i386.rpm[root@localhost ~]# rpm -qs ipvsadm-1.24-6normal /etc/rc.d/init.d/ipvsadmnormal /sbin/ipvsadm

  normal /sbin/ipvsadm-restore

  normal /sbin/ipvsadm-save

  not installed /usr/share/doc/ipvsadm-1.24not installed /usr/share/doc/ipvsadm-1.24/READMEnot installed /usr/share/man/man8/ipvsadm-restore.8.gznot installed /usr/share/man/man8/ipvsadm-save.8.gznot installed /usr/share/man/man8/ipvsadm.8.gz从上面可以看到,我们在安装ipvsadm-1.24-6.i386.rpm的时候指定不安装说明文档,然后通过“-s”命令查看文件状态时,软件包的说明文档状态均为“not installed”。

  l -R (或--requires):显示软件包所需的功能,所谓功能,可以是软件包标识,也可以是共享动态库文件等等,软件包的依赖关系就是依靠功能来实现的,如果所需的功能不存在,则依赖关系一定得不到满足,软件安装就会失败。

  l --provides:显示软件包提供的功能,这个功能可以是动态库文件,也可以是虚拟软件的包名等等。

  例如:查看nxclient-2.1.0-17.i386.rpm提供的功能,使用以下命令:

  [root@localhost ~]# rpm -qp --provides nxclient-2.1.0-17.i386.rpmnxclient = 2.1.0-17可以看到这个软件提供了nxclient的功能。

  3. 验证软件包

  验证已经安装的软件包

  校验软件包比较的是某软件包安装的文件和原始软件包中的同一文件的信息是否一致。它校验每个文件的大小、权限、MD5 值、类型、所有者、以及组群。

  命令格式:rpm -V [辅助选项] package1……packageN主选项说明:

  -V:verify的意思,也可以用“--verify”代替。此参数主要校验已经安装的软件包内的文件和最初安装时是否一致。

  参数说明:package1……packageN 表示需要校验的且已经安装的软件包名。

  辅助选项说明:

  l -p:验证软件包文件

  例如:下面是验证rsh包的安装状态,操作过程如下:

  [root@localhost ~]# rpm -V rsh-0.17-25.3

  package rsh-0.17-25.3 is not installed

  [root@localhost ~]# rpm -Vp rsh-0.17-25.3.i386.rpmwarning: rsh-0.17-25.3.i386.rpm: V3 DSA signature: NOKEY, key ID db2a6emissing /usr/bin/rcpmissing /usr/bin/rexec

  missing /usr/bin/rlogin

  missing /usr/bin/rsh

  missing d /usr/share/man/man1/rcp.1.gz

  missing d /usr/share/man/man1/rexec.1.gzmissing d /usr/share/man/man1/rlogin.1.gzmissing d /usr/share/man/man1/rsh.1.gz[root@localhost ~]# rpm -ivh rsh-0.17-25.3.i386.rpmwarning: rsh-0.17-25.3.i386.rpm: V3 DSA signature: NOKEY, key ID db2a6ePreparing.。。 ########################### [100%]

  1:rsh ######################## [100%]

  [root@localhost ~]# rpm -Vp rsh-0.17-25.3.i386.rpmwarning: rsh-0.17-25.3.i386.rpm:V3 DSA signature: NOKEY, key ID db2a6e[root@localhost ~]# rpm -V rsh-0.17-25.3#上面操作中,我们首先验证rsh,可以知道rsh没有在系统中安装,接着我们安装了rsh软件包,再次查看rsh包状态时,没有任何输出了,表示软件包文件全部正常。

  l -f:校验文件在所属的软件包的状态,此选项后面跟相应的文件名。

  例如:检查mysqlclient包中各个文件的状态,我们的操作如下:

  [root@localhost ~]# rpm -ql mysqlclient10-3.23.58-4.RHEL4.1/etc/ld.so.conf.d/mysqlclient10-i386.conf/usr/lib/mysql/libmysqlclient.so.10/usr/lib/mysql/libmysqlclient.so.10.0.0

  /usr/lib/mysql/libmysqlclient_r.so.10

  /usr/lib/mysql/libmysqlclient_r.so.10.0.0[root@localhost ~]# mv \》/usr/lib/mysql/libmysqlclient.so.10 /usr/lib/mysql/libmysqlclient.so.10.d[root@localhost ~]# rpm –V mysqlclient10-3.23.58-4.RHEL4.1missing /usr/lib/mysql/libmysqlclient_r.so.10[root@localhost ~]# rpm -Vf /usr/lib/mysql/libmysqlclient_r.so.10missing /usr/lib/mysql/libmysqlclient_r.so.10#这里我们首先检查了mysqlclient包中包含的所有文件,然后模拟删除mysqlclient包中一个文件,然后查看这个文件的状态,可以看到显示为“missing”,如果我们通过“-Vf”选项检查某个文件,没有任何输出时,表示这个文件状态正常。

  l -a:检验所有的软件包。

  l -g:检验所有属于组的软件包。

  验证未安装的软件包文件

  发行的RPM格式的软件包是否值得信任,是否损坏,我们可以通过RPM提供的选项进行验证。RPM软件包一般使用 Gnu 隐私卫士(或称 GPG)来签名,从而帮助使用者肯定下载软件包的可信任性。

  命令格式:rpm -K file1.rpm……fileN.rpm

  主选项说明:

  -K: checksig的意思,也可以用“--checksig”代替。这个选项用来检查 RPM 软件包文件的md5校验和GPG签名。

  参数说明:file1.rpm……fileN.rpm表示需要校验软件包名。

  例子:如果想要校验某个软件包是否被篡改或者是否损坏,可以使用如下命令检查:

  [root@localhost ~]# rpm -K nxserver-2.1.0-22.i386.rpmnxserver-2.1.0-22.i386.rpm: md5 OK这里的“md5 OK”表示文件在下载中没有被损坏或者没有被篡改。即这个文件是安全的。

  [root@localhost ~]# rpm -K ipvsadm-1.24-6.i386.rpmipvsadm-1.24-6.i386.rpm: (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#443e1821)上面的输出表示这个软件没有被授权签名,在安装未被linux发行商授权的软件包时,请务必谨慎,因为这些软件包内可能包含有害的代码。

  4. 更新软件包

  命令格式:rpm -U [辅助选项] file1.rpm……fileN.rpm主选项说明:

  -U:upgrade的意思,可以使用“--upgrade”代替。

  参数说明:file1.rpm……fileN.rpm表示需要升级的rpm文件包。

  辅助选项说明:

  --oldpackage 表示允许“升级”到一个老版本,即软件版本降级。

  其它选项与安装RPM软件包辅助参数完全相同,这里不再讲述。

  例子:我们将rsh从rsh-0.17-25.3升级到rsh-0.17-37.el5,步骤如下:

  [root@localhost ~]# rpm -q rsh

  rsh-0.17-25.3

  [root@localhost ~]# rpm -Uvh rsh-0.17-37.el5.i386.rpmwarning: rsh-0.17-37.el5.i386.rpm: V3 DSA signature: NOKEY, key ID 37017186Preparing.。。 ######################### [100%]

  1:rsh ########################### [100%]

  [root@localhost ~]# rpm -q rsh

  rsh-0.17-37.el5

  5. 删除软件包

  命令格式:rpm -e [辅助选项] package1……packageN主选项说明:

  -e:erase的意思,也可以用“--erase”代替。

  参数说明:package1……packageN表示已经安装的软件包名称。

  辅助选项说明:

  l --test:只执行删除的测试。

  l --nodeps:不检查依赖性。

  举例:

  (1) 删除rsh软件包,使用以下命令:

  [root@localhost ~]# rpm -q rsh

  rsh-0.17-37.el5

  [root@localhost ~]# rpm -e rsh-0.17-37.el5[root@localhost ~]# rpm -q rshpackage rsh is not installed

  (2)删除gcc软件包,但是存在依赖关系,操作过程如下:

  [root@server ~]# rpm -e gcc

  error: Failed dependencies:

  gcc = 3.4.4-2 is needed by (installed) gcc-c++-3.4.4-2.i386gcc = 3.4.4-2 is needed by (installed) gcc-g77-3.4.4-2.i386gcc = 3.4.4-2 is needed by (installed) gcc-java-3.4.4-2.i386gcc = 3.4.3 is needed by (installed) libtool-1.5.6-4.EL4.1.i386gcc is needed by (installed) systemtap-0.4-0.EL4.i386这里又出现了删除依赖性了,根据上面的提示可知,要删除gcc软件包,必须删除与gcc相互依赖的五个软件包,这个操作要非常慎重,除非知道删除后对系统没有影响,否则一定不要盲目执行删除操作,因为这样可能导致系统的崩溃。

  其实我们也可以加入“--nodeps”参数,忽略依赖关系,但是这样可能会导致相关依赖软件的不可用。

  三、二进制软件安装方式

  Linux下二进制格式的软件是指事先已经在各种平台编译安装好相关软件,然后压缩打包,在安装时只需解压或者执行安装可执行文件即可。这种软件发行格式类似与windows系统,这样做的原因是保护源代码程序不对外泄露,保护知识产权。二进制软件包的优点是安装简单、容易,缺点是缺乏灵活性,相应的软件包执行在对应平台下安装,离开这个环境软件就无法运行。

  二进制软件包提供了很多类型的打包方式,最常见的就是我们上节讲到的RPM格式的包,还有以“*.tar.gz、*.tgz、*.bz2“等形式的二进制软件包,最后还有一个就是提供安装程序进行安装的二进制软件包。下面分别介绍:

  3.1 安装“*.tar.gz、*.bz2”二进制软件包

  这种格式的软件包,安装其实就是简单的解压过程,根据不同的软件打包格式,我们用相应的解压命令解压即可。

  对于*.tar.gz软件格式解压:tar –zxvf xxxxxx.tar.gz对于*.bz2软件格式解压: tar -jxvf xxxxxx.tar.gz这类软件的卸载,对于解压后只有单一目录的软件,可以直接删除对应软件目录即可,如果解压后文件分散在几个目录中,需要一一手动删除目录。

  例如:我们常用的应用服务器容器tomcat软件就是基于这种打包压缩格式发行的。我们只需下载后解压即可完成安装,如果需要卸载,直接删除对应的tomcat目录即可。

  3.2 提供安装程序的软件包

  这种软件包都提供了安装脚本或者安装向导程序,只需在下载此类软件包后解压,然后进入安装目录,找到类似的setup、install、install.sh之类的可执行文件运行即可,然后根据提示(比如安装路径,参数设置等等)进行相应的设置,接着安装就自动完成。

  这类软件的卸载也提供了相应的卸载脚本或者卸载向导,根据提示即可完成软件卸载。

  例如:经常使用的sun jdk就是这种安装方式,从网络下载下来的jdk是个二进制可执行文件,首先设置文件的可执行权限(例如chmod 755 jdk1.6.0_07.bin,权限操作本书后面会有详细讲述) ,然后运行软件(也即是。/ jdk1.6.0_07.bin)即可完成安装。安装完成会在当前目录产生一个对应的jdk程序目录。

  Linux下一些大型的软件安装,比如weblogic、oracle等软件都提供了安装向导程序,用户可以根据安装提示,顺利完成此类软件的安装。

  上面就是Linux系统安装软件的方法介绍了,如果你习惯了windows系统,那么在使用Linux系统的时候多少会有些不适应,习惯后安装Linux软件也没有那么难了。

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录