嗯,强制更新依赖项

嗯,强制更新依赖项

我有一个包含多个依赖项的包。我使用给定的包及其依赖项更新了我的存储库,但是当我更新包依赖项时,由于已经安装了所需的版本,因此包依赖项没有更新。

我如何强制更新这些依赖项?

这是一个例子来澄清它:

我已经安装了

RPM_A_1.0

谁有依赖关系:

RPM_B version 2.1
RPM_C version 1.1

现在我更新了我的存储库,因此我有以下版本:

RPM_A_2.0
RPM_B version 2.1-12
RPM_C version 1.1-12

当我打电话给yum update RPM_A其他人时,RPM 没有更新,我想强制这些更新

答案1

在您当前的设置下,没有简单的方法可以做到这一点。 Puppet 仅检查是否安装了 RPM_A 2.0 版。如果它发现它已安装并且处于所需的版本,那么它的工作就差不多了。

至于当 puppet/yum 将软件包 RPM_A 从 1.0 更新到 2.0 时,除非 RPM_A 中有特定的依赖关系表明它需要特定较新版本的 RPM_B 和 RPM_C,否则 yum 不会出去获取新版本的 RPM_B 和 RPM_C。它将看到已安装的软件包,并且由于您只想更新 RPM_A,因此无需获取 RPM_B 和 RPM_C 的新版本。

有几种方法可以做你想做的事:

  1. 如果你是编译 RPM_A 的人,你可以将 RPM_B 和 RPM_C 的具体版本要求放在 spec 文件中,这样当 RPM_A 更新时 yum 就会去获取它们。

  2. 您可以为 RPM_B 和 RPM_C 创建包类型,并将它们放入清单中,并使 RPM_A 依赖于它们。

  3. 创建一些仅存在的元包,以列出您需要安装的 RPM_A、RPM_B 和 RPM_C 的特定版本。这个选项有点愚蠢,因为它基本上与选项 2 相同,但您在规范文件而不是傀儡清单中执行相同的工作。

相关内容