3.2 使用 RPM
RPM 有五个基本的操作 模式(不包括包的编译): 安装,卸载,升级,查询,校验。本节将对它们一一介绍。要了解完整的细节和选项,可以使用 rpm --help, 或转到 the section called 其它 RPM 资源 得到更多关于 RPM 的信息。
3.2.1 安装
典型的 RPM 有着类似 foo-1.0-1.i386.rpm这样的名称, 其中指明了包名 (foo), 版本号 (1.0), 发行号 (1), 和硬件平台 (i386)。安装一个软件包只需简单的键入以下命令:
# rpm -ivh foo-1.0-1.i386.rpm
foo ####################################
#
正如您所看到的, RPM 将会打印出软件包的名字 ( 并不一定要与文件名相同, 可能是 1.rpm), 而后打印出一连串的 # 号以表示安装进度。
请注意
尽管通常是使用 rpm -ivh foo-1.0-1.i386.rpm 来安装包, 但也可以用 rpm -Uvh foo-1.0-1.i386.rpm 来替代。 -U 是包升级参数, 也可以用来安装新包。参看 升级一节 有关RPM 中 -U 参数的详细使用情况。
软件包的安装设计非常简单, 但还是有可能发生以下错误:
软件包已被安装
如果软件包已被安装, 会出现以下信息:
# rpm -ivh foo-1.0-1.i386.rpm
foo package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
如果仍要安装该包, 可以在命令行中使用 --replacepkgs 选项, 这样 RPM 将忽略该错误信息:
# rpm -ivh --replacepkgs foo-1.0-1.i386.rpm
foo ####################################
#
文件冲突
如果要安装的软件包中有一个文件已在安装其它包时被安装,会显示以下信息:
# rpm -ivh foo-1.0-1.i386.rpm
foo /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed
#
要想让RPM 忽略该错误信息, 请使用 --replacefiles 命令行选项:
# rpm -ivh --replacefiles foo-1.0-1.i386.rpm
foo ####################################
#
未解决依赖关系
一个 RPM 包可能会 "依赖" 其它软件包, 也就是说要求在安装了特定的软件包之后才能安装该软件包。 如果在安装这个软件包时未解决这种存在的依赖关系, 会看到:










