繁体   English   中英

使用 localinstall 更新 yum 包

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM