Centos

如何解釋這個 yum 依賴錯誤?

  • August 26, 2019

我正在嘗試安裝 XRDP,我遇到了以下問題:

[root@box ~]# yum -y install xrdp
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.serverspace.co.uk
* epel: mirrors.coreix.net
* extras: mirror.sov.uk.goscomb.net
* updates: mirror.sov.uk.goscomb.net
Resolving Dependencies
--> Running transaction check
---> Package xrdp.x86_64 1:0.9.10-1.el7 will be installed
--> Processing Dependency: xrdp-selinux = 1:0.9.10-1.el7 for package: 1:xrdp-0.9.10-1.el7.x86_64
--> Processing Dependency: xorgxrdp for package: 1:xrdp-0.9.10-1.el7.x86_64
--> Running transaction check
---> Package xorgxrdp.x86_64 0:0.2.10-4.el7 will be installed
--> Processing Dependency: xorg-x11-server-Xorg(x86-64) = 1.20.4 for package: xorgxrdp-0.2.10-4.el7.x86_64
---> Package xrdp-selinux.x86_64 1:0.9.10-1.el7 will be installed
--> Finished Dependency Resolution
Error: Package: xorgxrdp-0.2.10-4.el7.x86_64 (epel)
          Requires: xorg-x11-server-Xorg(x86-64) = 1.20.4
          Installed: xorg-x11-server-Xorg-1.20.1-5.6.el7_6.x86_64 (@updates)
              xorg-x11-server-Xorg(x86-64) = 1.20.1-5.6.el7_6
          Available: xorg-x11-server-Xorg-1.20.1-3.el7.x86_64 (base)
              xorg-x11-server-Xorg(x86-64) = 1.20.1-3.el7
          Available: xorg-x11-server-Xorg-1.20.1-5.el7.x86_64 (updates)
              xorg-x11-server-Xorg(x86-64) = 1.20.1-5.el7
          Available: xorg-x11-server-Xorg-1.20.1-5.1.el7.x86_64 (updates)
              xorg-x11-server-Xorg(x86-64) = 1.20.1-5.1.el7
          Available: xorg-x11-server-Xorg-1.20.1-5.2.el7_6.x86_64 (updates)
              xorg-x11-server-Xorg(x86-64) = 1.20.1-5.2.el7_6
          Available: xorg-x11-server-Xorg-1.20.1-5.3.el7_6.x86_64 (updates)
              xorg-x11-server-Xorg(x86-64) = 1.20.1-5.3.el7_6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

現在,我知道它缺少依賴項,但是,它似乎在說它需要xorg-x11-server-Xorgversion 1.20.4

然後它繼續說版本1.20.1-5.6.el7_6已安裝。

從我坐的地方看,4 在 1-5 的範圍內,所以我不清楚問題是什麼。它們似乎都適合正確的架構。

1-5 本身是一個版本字元串而不是一個範圍,或者 - 如果不是 - 我錯過了什麼?

解決方案:感謝@zigam 的評論,這裡有一個解決方法:

遇到同樣的問題,我安裝了手動存檔的 xorgxrdp yum -y install https://archive.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/x/xorgxrdp-0.2.9-1.el7.x86_64.rpm 然後 yum -y install xrdp它可以工作

目前在 EPEL 中的 xorgxrdp 版本是針對 RHEL 7.7 建構的,特別是針對(以及其他軟體包)RHEL 7.7 中附帶的 xorg-x11-server-Xorg 軟體包版本,但您執行的是 CentOS 7.6。

在 CentOS 7.7 發布之前,您目前無法安裝此軟體包。EPEL 通常不會保留舊版本的軟體包,因此沒有舊版本的 xorgxrdp 可以依賴。

我(從昨天開始)看到的最後一句話是 CentOS 7.7 預計“可能在 2019 年 8 月 29 日至 9 月 6 日之間的某個時間”。如果您想提前獲得訪問權限,您可以啟用 CentOS CR 儲存庫,該軟體包將在發布前一周左右暫存。他們應該在“下周初”登陸 CR。/etc/yum.repos.d/CentOS-CR.repo有關此 repo 的解釋,請參閱中的評論。


我怎麼知道這個包是在 RHEL 7.7 上建構的?我看到它所需的依賴項具有比您可用的任何版本更高的版本。基於此,我懷疑該軟體包需要更高的 RHEL 版本,因為我之前在 RHEL 版本和相應的 CentOS 版本之間的幾週內看到過這種事情。

為了確認,我查看了最近的 CentOS 7.6 系統,看到 xorg-x11-server-Xorg 的版本號與您安裝的相同,當我查看 RHEL 7.7 系統時,我看到了版本號與它想要的依賴項相同。

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