Centos

百勝更新抱怨依賴(架構不匹配)

  • December 9, 2015

我創建了一個元 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

我的架構是完整的 x86_64,所以我不明白為什麼 Yum 會在perl-5.16.3-285.el7和之間產​​生差異perl-5.16.3-285.el7.x86_64

我試圖在我的元包依賴項中指定架構,但即使我這樣做了,其他包也無法更新……

有沒有辦法解決這種行為?

謝謝!

經過一番探勘,我發現我沒有在依賴版本中指定包的時代。因此,Yum 設置了預設的 epoch ( 0),它與安裝的不匹配(4對於我的 perl 版本)。

所以,有這樣的依賴:

Requires: perl = 4:5.16.3-285.el7

一切都按預期工作。

引用自:https://serverfault.com/questions/741929