mbh*_*294 6 linux redhat rhel yum
如果使用yum localinstall安装软件包,如下所示:
yum -y localinstall --nogpgcheck some-package-1.0.0.rpm
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试运行:
yum -y localinstall --nogpgcheck some-package-2.0.0.rpm
Run Code Online (Sandbox Code Playgroud)
它会用新版本替换整个旧版本还是同时保留两个版本?
答案是,这取决于如何some-package打包。一般地,大多数的.rpms打包带foo-version-release.rpm得到由相同的包废弃foo用version++和/或release++。
查看您的some-package,如果您要运行yum localinstall some-package-2.0.0.rpm(注意,而不是使用-y),那么您会看到来自 的消息yum,如下所示:
Resolving Dependencies
--> Running transaction check
---> Package foo.x86_64 0:1.0.0 will be updated
---> Package foo.x86_64 0:2.0.0 will be an update
Run Code Online (Sandbox Code Playgroud)
这表明yum将要更新包并删除旧包。yum解决这些依赖关系,而 arpm -ivh不会这样做。
现在,有一些特殊情况,例如,kernel它将与旧系统并排安装在系统上,除非您手动调用rpm -Uvh kernel*.rpm命令。
等效的命令yum localinstall有两个,
# This will fail if some-2.0.0 is designed to obsolete some-1.0.0
$ rpm -ivh --test some-2.0.0.rpm
Run Code Online (Sandbox Code Playgroud)
而以下会成功:
$ rpm -Uvh --test some-2.0.0.rpm
Run Code Online (Sandbox Code Playgroud)
请注意,我正在使用--test进行试运行。需要将其删除才能进行真正的安装。
| 归档时间: |
|
| 查看次数: |
12255 次 |
| 最近记录: |