管理包:安装、更新和卸装

通常,RPM 存档的安装十分简单:rpm -i package.rpm。使用此命令可以安装包,但前提是满足其依赖性并且不与其他包冲突。如果出现错误消息,rpm 将请求那些需要安装的包以满足依赖性要求。在后台,RPM 数据库确保不出现冲突 - 一个特定文件只能属于一个包。通过选择不同的选项,您可以强制 rpm 忽略这些默认设置,但这只供专家用户使用。否则将影响系统的完整性并可能使系统无法更新。

选项 -U(即 --upgrade)和 -F(即 --freshen)可用于更新包。例如,rpm -F package.rpm。此命令将删除旧版本的文件并立即安装新文件。两个版本之间的差别是 -U 安装系统中以前不存在的包,但 -F 只更新以前安装的包。更新时,rpm 使用以下策略小心更新配置文件:

更新后,在使用 .rpmsave.rpmnew 文件进行比较后应将它们删除,从而防止它们阻碍以后的更新。如果 RPM 数据库以前未能识别文件,则将为其指派扩展名 .rpmorig

否则,将使用 .rpmsave。换句话说,.rpmorig 是从异系统格式更新为 RPM 的结果。.rpmsave 是从较早的 RPM 更新为较新的 RPM 的结果。.rpmnew 不提供任何有关系统管理员是否对配置文件进行了任何更改的信息。/var/adm/rpmconfigcheck 中提供这些文件的列表。不覆盖某些配置文件(如 /etc/httpd/httpd.conf)以允许继续进行操作。

-U 开关仅仅是使用 -e 选项进行卸载并使用 -i 选项进行安装的等效项。只要可能,就可以使用 -U

要删除包,请输入 rpm -e packagerpm 只在依赖性问题都解决的情况下才会删除该包。例如,只要有其他程序需要 Tcl/Tk,理论上就不能删除它。即使是在这种情况下,RPM 也会向数据库寻求帮助。如果出于任何原因或在任何特殊情况下不能进行这一删除操作(即使存在任何其他依赖性),则最好使用 --rebuilddb 选项重构建 RPM 数据库。