如何解释这个 yum 依赖错误?

如何解释这个 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版本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它就可以正常工作了

答案1

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以了解此存储库的说明。


我如何确定该软件包是基于 RHEL 7.7 构建的?我发现它所需的依赖项的版本比您现有的任何版本都要高。基于此,我怀疑该软件包需要更高版本的 RHEL,因为我在 RHEL 版本和相应的 CentOS 版本之间的几周内曾见过这种情况。

为了确认这一点,我查看了我最近的 CentOS 7.6 系统,发现那里的 xorg-x11-server-Xorg 的版本号与您安装的版本号相同,而当我在 RHEL 7.7 系统上查看时,发现那里的版本号与它所需的依赖项的版本号相同。

答案2

想将此添加为评论,但如果您在另一台机器上安装了该软件包,您可以将其复制过来并 rpm 安装。如果这是生产环境,也许可以考虑设置自己的本地镜像,以保留一定数量的软件包版本,而不像 EPEL 只保留最新版本。这是一个相当愚蠢的情况,我遇到了同样的问题。

相关内容