在Red Hat Linux下,标准的软件包是通过RPM来进行管理的。RPM的全名是Red Hat Package Manager,从名字就知道,它是由Red Hat公司开发的软件包管理系统。使用RPM软件包管理系统有下面这些优点:
1. 安装、升级与删除软件包都很容易
2. 查询非常简单
3. 能够进行软件包的验证
4. 支持源代码形式的软件包
下面的说明,将充分体现出以上四个优点。
RPM软件包通常是以xxx.rpm的格式命名的,就好像HP-UX下标准的软件包是xxx.depot的形式一样。一般,一个标准的RPM软件包的名字能够告诉我们一些信息,例如rhviewer-3.10a-13.i386.rpm,从这样一个名字的RPM软件包,我们可以知道,软件的名称是rhviewer,版本是3.10a,次版本是13,运行的平台是i386。
RPM通常有5种方式来管理RPM软件包:安装、删除、升级、查询和验证。
1. 安装
#rpm -ivh rhviewer-3.10a-13.i386.rpm
其中使用到的参数ivh说明如下:
i: 使用RPM的安装模式
v: 在安装的过程中显示安装的信息
h: 在安装的过程中输出#号
另外,RPM还能够通过FTP来进行远程安装,形式其实和本地安装差不多,只要在文件名的前面加上适当的路径就可以了:
#rpm -ivh ftp://xxxx/rhviewer-3.10a-13.i386.rpm
注意:对于远程安装来说,建议不要忘记h参数,不然可能不知道安装程序是否还在进行。或者,也可以通过--percent参数来知道安装的进度。对于详细帮助信息,可以通过#rpm --help或者#man rpm来获得。
在安装过程中,可能会经常遇到以下几种情况:
<1>重复安装软件包
如果要安装的软件之前已经安装过,就会在安装过程中出现以下错误信息:
#rpm -ivh rhviewer-3.10a-13.i386.rpm
package rhviewer-3.10a-13 is already installed
如果确定重新安装一次,可以加上--replacepkgs参数:
#rpm -ivh --replacepkgs rhviewer-3.10a-13.i386.rpm
<2>软件包中用到的某个文件已经被其他软件包安装
这种情况可能最常出现,多个软件包都包含某个或某些文件,当安装了第一个软件包,再安装其他软件包的时候,就会出现以下错误:
#rpm -ivh rhviewer-3.10a-13.i386.rpm
rhviewer /usr/bin/rhviewer conflicts with file from
msviewer-1.10b-01
error: rhviewer-3.10a-13.i386.RPM cannot be installed
此时,可以用--replacefiles参数:
#rpm -ivh --replacefiles rhviewer-3.10a-13.i386.rpm
<3>软件包之间的相关性
有的时候,一个软件包的作用要基于另外一个软件包,如果安装该软件包时候没有安装需要的另外一个软件包,就会有错误信息:
#rpm -ivh rhviewer-3.10a-13.i386.rpm
failed dependencies: rhviewer is needed by rhpainter-2.24-20
此时,建议先安装这个需要的软件包。不过,如果你愿意尝试一下是否不安装这个需要的软件包是否也能够正常使用你真正要安装的软件的话,可以加上--nodeps参数:
#rpm -ivh --nodps rhviewer-3.10a-13.i386.rpm