Yum 更新抱怨依赖性(架构不匹配)

Yum 更新抱怨依赖性(架构不匹配)

我创建了一个元 RPM 包(例如metapkg),它提取了我系统(CentOS 7)上所需的所有依赖项。此包指定了其依赖项的确切版本(但没有体系结构)。

例子 :Requires: perl = 5.16.3-285.el7

当我尝试使用 升级我的系统时yum update,Yum 抱怨几个依赖性问题:

Error: Package: metapkg-1.1.0-1.noarch (myupdates)
           Requires: perl = 5.16.3-285.el7
           Installed: 4:perl-5.16.3-285.el7.x86_64 (@anaconda)
               perl = 4:5.16.3-285.el7
Error: Package: metapkg-1.1.0-1.noarch (myupdates)
           Requires: grub2 = 2.02-0.17.0.1.el7.centos.4
           Installed: 1:grub2-2.02-0.17.0.1.el7.centos.4.x86_64 (@anaconda)
               grub2 = 1:2.02-0.17.0.1.el7.centos.4
Error: Package: metapkg-1.1.0-1.noarch (myupdates)
           Requires: vim-enhanced = 7.4.160-1.el7
           Installed: 2:vim-enhanced-7.4.160-1.el7.x86_64 (@anaconda)
               vim-enhanced = 2:7.4.160-1.el7
Error: Package: metapkg-1.1.0-1.noarch (myupdates)
           Requires: lvm2 = 2.02.115-3.el7_1.1
           Installed: 7:lvm2-2.02.115-3.el7_1.1.x86_64 (@anaconda)
               lvm2 = 7:2.02.115-3.el7_1.1

perl-5.16.3-285.el7我的架构是完整的 x86_64,所以我不明白为什么 Yum 会在和之间做出区分perl-5.16.3-285.el7.x86_64

我尝试在我的元包依赖项中指定体系结构,但即使我这样做,其他包也无法更新......

有没有什么办法可以解决这个问题?

谢谢!

答案1

经过一番挖掘,我发现我没有在依赖项版本中指定包的纪元。因此,Yum 设置了默认纪元 ( 0),这与已安装的纪元不匹配(4对于我的 perl 版本)。

因此,存在如下依赖关系:

Requires: perl = 4:5.16.3-285.el7

一切按预期进行。

相关内容