2023年12月7日发(作者:)

在RedHat Linux和Mandrake等兼容RedHat的发行版中,整个发行版都是利用RPM安装的。所以安装新软件的最好方法是从网络上下载rpm包。

1) 用RPM安装软件包

最简单的命令如下:

# rpm -ivh (这里讲的软件包是,以下都是)

foo####################

下面rpm就会输出该软件包的名称,并显示一个状态条。安装很简单。

2)拆除已安装的软件包

要反安装软件包foo,只需输入以下这行命令:

# rpm -e foo

注意:软件包名是foo,而不是rpm文件名""。

3)升级软件包

升级软件包与安装软件包的命令十分相似,只是升级使用 -U 选项,而安装是使用 -i 选项。当系统中没有安装先前版本的软件包时,-U 选项则会执行安装的操作。

升级软件包与安装软件包的命令十分相似,只是升级使用 -U 选项,而安装是使用 -i 选项。

假设名为 12.x86_ 的软件名位于当前目录,并且我们已经在系统中安装了名为 12.x86_ 的软件包,我们则可以通过以下命令对软件包进行升级

~]# rpm -Uvh 12.x86_

作为升级软件包进程的一部分,RPM 会自动卸载之前老版本的 tree 软件包。当系统中没有安装先前版本的软件包时,-U 选项则会执行安装的操作。因此使用 -U 选项,即能够安装,也能够升级软件包。

注意:不推荐使用 -U 选项对内核 (kernel) 软件包进行安装,这样做会让 RPM 完全地覆盖先前版本的内核软件包。这个操作不会马上影响当前系统,但如果下次你无法使用新的内核启动系统,你就没有其它可用内核进行启用了。 使用 -i 选项将会将新安装的内核添加到你的 GRUB 启用菜单 (即 /etc/ 文件)。同样,移除某个内核软件包时,也会从

GRUB 菜单中删除相应内容。使用 yum 升级内核软件包时,它等同于 -i 选择的 rpm 命令,因此可以放心升级。

RPM 会聪明地处理配置文件以名升级过程中出现配置丢失,所以你可能会在升级软件包时看到以下信息

saving /etc/ as /etc/e

出现这个消息,则说明新版本软件包中的配置文件不向前兼容(forward-compatible),所以 RPM 为你备份并添加一份最新的配置文件。 你需要了解两份配置文件的不同,并解决其中的问题,从而保证你能够将旧配置文件中的设置过渡到新的软件中。

或者,RPM 不会变更旧的配置文件,而是将新的配置文件保存为 。不论是哪种情况,依然建议你查看两份配置的不同,并解决配置方面的问题。比对两个文件,可以使用 diff 程序。

如果你想将软件包更新为版本号更低的软件包,则会得到以下输出

package 12.x86_ (which is newer than foo-1.0-1) is already installed

使用 --oldpackage 选项,能够强制地将软件包更新为旧版本的软件包

~]# rpm -Uvh --oldpackage 12.x86_

4)查询软件包

用户可以用rpm -q在rpm的数据库中查询相应的软件,rpm会给出软件包的名称,版本,发布版本号,例如:

# rpm -q foo

foo-2.0-l

下面是查询时可以使用的特定参数:

-a 查询目前系统安装的所有软件包。

-f 文件名查询包括文件的软件包。

-F 同-f参数,只是输入是标准输入(例如 find /usr/bin | rpm -qF)

-q 软件包名: 查询该软件包

-Q 同-p参数,只是输入是标准输入(例如 find /mnt/cdrom/RedHat/RPMS | rpm -qQ)

下面是输出时的格式选择:

-i 显示软件包的名称,描述,发行,大小,编译日期,安装日期,开发人员等信息。

-l 显示软件包包含的文件。

-s 显示软件包包含的文件目前的状态,只有两种状态:normal和missing

-d 显示软件包中的文档(如man,info,README等)

-c 显示软件包中的配置文件,这些文件一般是安装后需要用户手工修改的,例如:,passwd,inittab等 如果用-v参数就可以得到类似于ls -l的输出

5)用rpm校验软件包

用户可以用rpm来校验已经安装的软件包,rpm可以校验文件大小、MD5校验码、文件权限、类型和属主等信息。

下面是校验时的参数说明:

-a 简单校验软件包中的文件是否存在

-b 校验软件包中的单个文件

-c 校验安装的所有软件包

-d 比较一个源软件包和已经安装的软件包

如果检验通过就没有任何出错信息,如果有出错信息,它的格式如下:出错信息是一个8位的字符串,如果是一个".",就代表没有问题,下面是相应的字符的意义:

5 MD5校验错

S 文件大小错

L 符号连接

T 文件修改时间错

D 设备文件错

U 用户名错

G 组名错

M 属性(包括改写权和文件类型)错

如果用户看到这些信息,最好重新安装或者手工修复。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rpm 实用技巧!

1)用户可以通过FTP来安装软件包。如果用户能够连上网络,想安装某个新的软件包时,可以直接用它的URL地址来安装:

比如:现在在/pub/linux/redhat/RPMS/下有这个文件包:,那就可以用这样的命令:

# rpm -i /pub/linux/redhat/RPMS/

来安装,也可以查询!

2)如果用户不小心误删了几个文件,但不确定到底是那些文件,想对整个系统进行校验,以了解哪些部分可能已经损坏,可以用:

# rpm -Va

3)如果用户碰到一个人不出来的文件,想要知道它是属于那一个软件包的话,可以这样做:

# rpm -qf /usr/X11R6/bin/xjewel

结果会得到以下信息:

xjewel-1.6-1

4)如果用户得到一个新的RPM文件,却不清楚它的内容;或想了解某个文件包将会在系统里安装那些文件,可以这样做:

# rpm -qpi