| 8.2.3 升级
升级软件包和安装软件包十分类似:.
$ rpm -Uvh foo-2.0-1.i386.rpm
foo ####################################
RPM将自动卸载已安装的老板本的foo 软件包,您不会看到有关信息。事实上您可能总是使用
-U 来安装软件包, 因为即便以往未安装过该软件包,也能正常运行。
因为RPM 执行智能化的软件包升级,自动处理配置文件,您将会看到如下信息:
saving /etc/foo.conf as /etc/foo.conf.rpmsave
这表示您对配置文件的修改不一定能向上兼容于该软件包中的配置文件。因此,RPM 会备份老文件,安装新文件。您应当尽快解决这两个配置文件的不同之处,以使系统能持续正常运行。
因为升级其实就是软件包的卸载与安装的综合,您可能会遇见那些操作中所可能发生的错误。有一处不同,那就是当您使用旧版本的软件包来升级新版本的软件时,会产生以下错误信息:
$ rpm -Uvh foo-1.0-1.i386.rpm
foo package foo-2.0-1 (which is newer) is
already installed
error: foo-1.0-1.i386.rpm cannot be installed
要使RPM 坚持这样“升级”,就使用 --oldpackage 命令行参数。
8.2.4 查询
使用命令rpm -q来查询已安装软件包的数据库。简单的使用命令 rpm -q foo
会打印出foo软件包 的包名 ,版本号,和发行号:
$ rpm -q foo
foo-2.0-1
除了指定软件包名以外,您还可以连同-q使用以下选项来指明要查询哪些软件包的信息。这些选项被称之为
“软件包指定选项“:
-a 查询所有已安装的软件包.
-f 将查询包含有文件. 的软件包
-p 查询软件包文件名为. 的软件包
有几种方式来指定查询软件包时所显示的信息。以下选项用于选择您感兴趣的信息进行显示。它们被称作信息选择选项:
-i 显示软件包信息,如描述, 发行号, 尺寸, 构建日期, 安装日期, 平台,
以及其它一些各类信息。
-l 显示软件包中的文件列表。
-s 显示软件包中所有文件的状态。.
-d 显示被标注为文档的文件列表(man 手册, info 手册, README's,
etc).
-c 显示被标注为配置文件的文件列表。这些是您要在安装完毕以后加以定制的文件(sendmail.cf,
passwd, inittab, etc).
对于那些要显示文件列表的文件, 您可以增加-v 命令行选项以获得如同 ls -l
格式的输出。
|