我正在尝试安装 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
version 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 系统时,我看到了版本号与它想要的依赖项相同。
想将此作为评论添加,但如果您在另一台机器上安装了该软件包,您可以将其复制过来并 rpm 安装它。如果这是一个生产环境,可以考虑设置你自己的本地镜像来保存一定数量的软件包版本,不像 EPEL 只保存最新的。这是一个非常愚蠢的情况,我遇到了同样的问题。