dnf 提到了排除的软件包,但它们没有标记为排除

dnf 提到了排除的软件包,但它们没有标记为排除

我刚刚安装了centos8。我尝试安装最新版本的 docker-ce:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce

然后dnf告诉我:

Last metadata expiration check: 0:19:10 ago on Fri 11 Oct 2019 09:29:33 AM 
CEST.
Error: 
 Problem: package docker-ce-3:19.03.3-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best update candidate for package docker-ce-3:18.09.1-3.el7.x86_64
  - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded

但我没有指定任何排除情况。都不在dnf.conf;这是我的全部dnf.conf

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True

我尝试搜索可用的containerd.io软件包;但这些“排除”的软件包不会显示:

> dnf --showduplicates search containerd.io
Last metadata expiration check: 0:20:30 ago on Fri 11 Oct 2019 09:29:33 AM CEST.
======================================================================================= Name Exactly Matched: containerd.io =======================================================================================
containerd.io-1.2.0-3.el7.x86_64 : An industry-standard container runtime
containerd.io-1.2.0-1.2.beta.2.el7.x86_64 : An industry-standard container runtime
containerd.io-1.2.0-2.0.rc.0.1.el7.x86_64 : An industry-standard container runtime
containerd.io-1.2.0-2.2.rc.2.1.el7.x86_64 : An industry-standard container runtime
containerd.io-1.2.0-3.el7.x86_64 : An industry-standard container runtime

我真的不明白为什么dnf会以某种方式找到这些软件包,但同时排除它们......

答案1

显然有一个错误libsolv导致您遇到的“排除”问题(请参阅这里这里)。 DNF 使用 libsolv,它是一个外部依赖解析器。

您可以使用以下命令安装 docker-ce:

dnf --disablerepo=AppStream install docker-ce

相关内容