[英]Update yum package using localinstall
如果使用yum localinstall安装软件包,如下所示:
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
打包的.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
将与旧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
进行试运行。 需要将其删除才能进行真正的安装。
既然有基于 repo 的包管理器,我更喜欢对所有东西使用相同的 pkg 管理器。
它似乎没有记录在案,但确实可以使用标准的 yum args:
yum -y localupdate some-package-2.0.0.rpm
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.