linux系统下rpm包的安装、删除、效验、查询

2020-01-30 11:28:26王冬梅

#
    
 

3.2.4 更新
包的更新与包升级相似:

# rpm -Fvh foo-1.2-1.i386.rpm
foo                      ####################################
#
    
 

RPM 更新选项,是检查命令行中指明的包版本与安装在系统中的包版本是否一致。 当 RPM 更新选项处理完已安装包的新版本时,该包会升级到新版本。 但是,RPM 更新选项无法安装系统目前没有的软件包。 这与 RPM 升级不同,升级选项 能够 安装软件包,无论旧版本的包是否已安装。

RPM 更新选项可以很好的更新一个软件包或一组软件包。 如果用户下载了大量的软件包,但只想升级系统中已有的包时,RPM 更新选项会非常有用。 使用 RPM 更新选项意味着你无需从下载的包中挑挑拣拣,也不用事先删除不要的包。

这种情况下, 只需简单的键入:

# rpm -Fvh *.rpm
    
 

RPM 工具会自动升级那些已经安装好的包。

3.2.5 查询
使用命令 rpm -q来查询已安装软件包的数据库。简单的使用命令 rpm -q foo 会打印出foo软件包的包名、版本号和发行号:

# rpm -q foo
foo-2.0-1
#
    
 

除了指定包名以外,用户还可以使用以下选项与 -q 连用,来指明要查询哪些软件包的信息。这些选项被称之为 软件包指定选项 。


-a 查询所有已安装的软件包。

-f <file> 将查询包含有文件 <file>的软件包。

-p <packagefile> 查询软件包文件名为 <packagefile>的包。

有几种方式来指定查询软件包时所显示的信息。 以下选项可以出选择感兴趣的信息,加以显示。这样的选项被称作 信息选择选项 。


-i 显示软件包信息,如描述、发行号、大小、编译日期、安装日期、硬件平台、以及其它一些各类信息。

-l 列出软件包中包含的文件。

-s 显示软件包中所有文件的状态。

-d 列出被标注为文档的文件 (如,man 手册、 info 信息、README,等等) 。

-c 列出被标注为配置文件的文件。这些文件是需要在安装完毕后加以定制的,如 (sendmail.cf, passwd, inittab, 等) 。

如果要在执行上述选项的同时,显示文件列表, 可以同时使用 -v 命令行选项,就能得出与 ls -l 格式类似的输出。

3.2.6 校验
包校验是比较自软件包中安装的文件信息和软件包中的原始文件的相同信息。 与其它校验相同,包校验将比较文件的长度、MD5校验和、许可、类型、文件属主和群组。

使用 rpm -V 命令进行包校验。用户可以配合使用各个包选择选项 ,来列出校验包的查询结果。 简单地使用 rpm -V foo 可以校验 foo 包中原始安装时的所有文件。例如: