为什么要始终使用rpm -U而不是rpm -i来安装软件包?


19

rpm具有-i--install)选项以安装软件包
rpm具有-U--upgrade)选项可安装或升级软件包

Red Hat文档表明,rpm -i是完全可以接受的。

但是-U,即使我是第一次安装该软件包,我见过的每个文档都建议使用。

为什么rpm -U通常优先于rpm -i

Answers:


37

大多数文档都建议这样做-U-i因为如果已经安装了软件包或已经安装了较早的版本,则-i可能会失败;同时-U会成功,即使没有被安装在所有的包“升级换代”。在给出操作方法时(例如在文档中),通常最好是给命令以较低的失败状态可能性。


1

该文档实际上没有说-i应该用于升级。它说应该使用它进行内核升级。原因是,如果系统无法使用新内核启动,则您仍然可以使用旧内核。但是,这是一个特例-内核程序包在某种意义上是正交的,因为它们没有所有权冲突的文件,因为所有内容都已版本化(各种内核程序包中的内核,initrd和库模块可以彼此并存)。

普通的用户空间软件包很少有这种独立性。如果rpm -i用于执行升级,则最终可能会同时安装两个具有相同名称(和不同版本)的软件包,而较早的软件包将被破坏(一半被覆盖)。实际上,可能会安装两次相同的软件包-一旦发生这种情况,某些工具和/或人们可能会感到相当困惑。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.