由网友(册刂除の记忆)分享简介:如果使用yum本地安装安装程序包,则如下所示:yum -y localinstall --nogpgcheck some-package-1.0.0.rpm现在,如果我尝试运行:yum -y localinstall --nogpgcheck some-package-2.0.0.rpm它是用新版本替换整个旧版本,还是...
如果使用yum本地安装安装程序包,则如下所示:
yum -y localinstall --nogpgcheck some-package-1.0.0.rpm
现在,如果我尝试运行:
yum -y localinstall --nogpgcheck some-package-2.0.0.rpm
它是用新版本替换整个旧版本,还是同时保留两个版本?
推荐答案
答案是,这取决于some-package
是如何打包的。通常,与foo-version-release.rpm
打包的大多数.rpms
会被与version++
和/或release++
打包的相同的foo
包取代。
查看您的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
这说明yum
将更新包并删除旧包。yum
解决这些依赖关系,而rpm -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
而以下操作将会成功:
$ rpm -Uvh --test some-2.0.0.rpm
请注意,我正在使用--test
进行演练。用户需要删除它才能进行真正的安装。相关推荐
最新文章