如何解釋這個 yum 依賴錯誤?
我正在嘗試安裝 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-Xorg
version1.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 系統時,我看到了版本號與它想要的依賴項相同。