告诉 yum 安装我的软件包依赖项的确切版本

告诉 yum 安装我的软件包依赖项的确切版本

我想要安装一个名为 的包pA

  • pA-1.0.0-0依赖于包pB-1.0.0-0
  • 在 yum 存储库中,可以找到pB-1.0.0-0pB-1.1.0-0
  • 软件包pA-1.0.0-0与 不兼容pB-1.1.0-0,并且 的 RPM 中未提及此信息,pA因为在打包pB-1.1.0-0时该信息并不存在。pA

pA尝试使用以下命令安装时出现此问题yum

$ yum localinstall pA-1.0.0-0.el7.x86_64.rpm
...
Resolving Dependencies
-> Processing Dependency: pB >= 1.0.0 for package: pA-1.0.0-0.el7.x86_64
--> Package pB.x86_64 0:1.1.0-0.el7 will be installed # <-- version 1.1! ho no!

是否有一个命令行选项yum可以要求它安装其依赖项所需的特定版本?
这里具体来说是安装pA-1.0.0-0.el7.x86_64而不是pA-1.1.0-0.el7.x86_64

注意:我无法手动处理pA的依赖项:在我的实际场景中,有无数的依赖项我不会用 单独安装rpm

答案1

没有办法直接执行你的要求,但你可以安装特定版本的依赖项安装主要软件包:

yum install pB-1.0.0-0
yum install pA

为了防止pB在更新系统其余部分时被升级,您可以使用以下versionlock插件yum

yum install yum-plugin-versionlock
yum versionlock pB-*

pB这将锁定在锁定时安装的版本。请参阅如何限制 yum 安装或升级软件包到固定的特定软件包版本?

编辑:如果您不想/无法手动安装所需版本的依赖项,您可以添加 deps 及其版本列表,以/etc/yum/pluginconf.d/versionlock.list确保在安装时安装特定版本pA

相关内容