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

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

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

RPM 将自动卸载已安装的老版本的 foo 软件包,用户无法看到有关信息。事实上用户可能总是使用 -U 来安装软件包, 因为即便以往未安装过该软件包,也能正常运行。

因为 RPM 执行智能化的软件包升级,自动处理配置文件,会显示如下信息:

saving /etc/foo.conf as /etc/foo.conf.rpmsave
        
 

这表示用户对配置文件的修改,不一定能 "向上兼容" 该软件包中的配置文件。 因此,RPM 会备份原始的文件,再安装新文件。用户应当尽快解决这两个配置文件的不同之处,以便系统能持续正常运行。

因为升级其实就是软件包的卸载与安装的综合,也可能会遇见那些操作中所可能发生的错误。 再有就是: 在使用 旧 版本的 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 命令行参数:

# rpm -Uvh --oldpackage foo-1.0-1.i386.rpm
foo                      ####################################
#
    
 

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软件包的包名、版本号和发行号: