给定: 0)CentOS / Oracle Linux(yum包管理器)
1)RPM X取决于RPM Z
2)RPM Y取决于RPM Z
3)我们有可用的每个软件包的几个版本,它们彼此依赖于特定版本,因此当我们安装X版本时。 1.2它安装Z版。 1.2
情况: 我们在repo中有3个版本的X,Y,Z - 1.0,1.1和1.2 目前安装的版本是1.0(每个X,Y和Z),安装X ver。 1.1。因此它带来了Y ver。 1.2。然后,因为我们有Z版。 1.0安装,yum决定更新它,但找到最新的版本(1.2)并得到它。因此,当尝试将X从1.0升级到1.1时,我们得到版本1.2的X,Y,Z
有没有办法禁止yum安装Z ver。 1.2在这种情况下,无需同时更新两个包(X和Y为1.1)?
答案 0 :(得分:0)
Yum有一个“exclude”指令,通常用于停止内核升级(但会阻止其他包升级)。
有关示例,请参阅https://www.howtogeek.com/50898/how-to-prevent-yum-from-updating-the-kernel/。
(除了) 我忘记了在yum中是否可以提及明确的版本。
与此同时,您可能希望更改依赖关系以要求包Z的显式版本。
E.g。将“要求:Z”改为“要求:Z = 1.1”
答案 1 :(得分:0)
它应该适用于版本,例如:
yum install Z-1.1 X-1.1 Y-1.1
如果您未指定版本,yum将检索最新版本。
另一种方法是修改包和状态:
Requires: Z=1.1
或
Conflicts: Z > 1.1