yum留下了过时的依赖关系

时间:2017-02-20 11:58:35

标签: rpm yum

我的问题是我有一个包含多个RPM的软件包,比如rpmA,rpmB,rpmC。 rpmC取决于rpmA并且版本被锁定在一起所以rpmC(v1)取决于rpmA(v1)。

但是包v2已经废弃了rpmC并且包含rpmA(v2)和rpmB(v2)。 rpmA(v2)的SPEC文件确实表明rpmC(v1)已经过时但我无法让我升级到v2 - 任何人都知道为什么?

yum似乎正在尝试升级rpmA和rpmB然后它会抛出错误,因为它没有删除rpmC(v1)而rpmC(v1)需要rpmA(v1),它已被删除并升级到rpmA (V2)。

可悲的是,我没有控制原来的v1 RPM,所以我不能,例如,让rpmC(v1)依赖于rpmA(> = v1),我也找不到让yum让我做升级的方法。

建议我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

根据评论,问题是每个RPM都隐含地提供了“功能”和“#39;和'功能(架构)'例如' SSL'和' ssl(x86_64)'。我的陈旧明确地包括了这样的体系结构,所以只能过时(例如)' ssl(x86_64)'离开' ssl'后面生成未解决的依赖关系。

如果从废弃指令中删除架构,那么两者'功能'和'功能(架构)'已经过时了,事情都开始起作用了。

所以回顾一下:

  1. 使用废弃,其中一个剩余的RPM将废弃您将在升级过程中删除的RPM
  2. 请勿在废弃指令中指定体系结构,以便删除功能/ RPM的所有实例
  3. 同时,考虑您的require指令是否指定了特定版本的依赖项,或者使用> =这可能允许上层依赖项工作 - 这也是我的咬人!
  4. 继承RPM定义的乐趣: - )。