我尝试在 rhel 8.4 机器上安装 snap,但出现以下错误
Error:
Problem: package snapd-2.54.1-1.el8.x86_64 requires snapd-selinux = 2.54.1-1.el8, but none of the providers can be installed
- conflicting requests
- nothing provides selinux-policy-base >= 3.14.3-80.el8_5.2 needed by snapd-selinux-2.54.1-1.el8.noarch
我的机器上有 selinux-policy-3.14.3-67.el8_4.2 。
答案1
根本问题如错误所描述:
什么都没有提供
selinux-policy-base >= 3.14.3-80.el8_5.2
由于您的存储库都无法提供此依赖项,因此安装无法继续。
看起来类似问题以前也发生过这种情况,在这种情况下,RHEL 存储库只是落后了。您可以sudo dnf upgrade --refresh
重试,看看该包现在是否可用。如果没有,我认为在不包含第三方存储库的情况下,这个问题没有一个好的解决方案(这可能不是一个好主意)。
正如你在这里看到的:https://pkgs.org/download/selinux-policy-base
...版本 3.14.3-80 目前可在 AlmaLinux 和 Rocky Linux 上使用,它们与 RHEL 二进制兼容。考虑到 RHEL 是两者的上游,因此 RHEL 没有该软件包似乎很奇怪。
也许您正在使用的卫星存储库对于上游来说已经过时了?我认为您应该调查您的存储库作为此错误的根源。
答案2
问题是centos网站上的rpm包很好(https://centos.pkgs.org/8/centos-baseos-x86_64/selinux-policy-doc-3.14.3-80.el8_5.2.noarch.rpm.html),但下载链接已损坏(http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/selinux-policy-doc-3.14.3-80.el8_5.2.noarch.rpm)
我使用另一个存储库通过以下命令安装了 selinux-policy-base 和依赖项:
百胜安装http://yum.stanford.edu/mrepo/centos8-x86_64/RPMS.os/selinux-policy-targeted-3.14.3-80.el8_5.2.noarch.rpm http://yum.stanford.edu/mrepo/centos8-x86_64/RPMS.os/selinux-policy-3.14.3-80.el8_5.2.noarch.rpm http://yum.stanford.edu/mrepo/centos8-x86_64/RPMS.os/selinux-policy-minimum-3.14.3-80.el8_5.2.noarch.rpm
然后你可以安装 snapd :
百胜安装快照