CentOS 7安装dnf后出错

CentOS 7安装dnf后出错

dnf按照安装这些说明:

yum install epel-release -y
yum install dnf

之后dnf --version工作正常,但dnf repolist或其他任何给出:

Extra Packages for Enterprise Linux 7 - x86_64  668 kB/s | 9.4 MB     00:14
Failed to open: /var/cache/dnf/x86_64/7/x86_64/7/epel/repodata/e8...19-updateinfo.xml.bz2.

跑步并dnf clean all不能解决这个问题。

似乎有错误报告关于这个,没有解决办法。

有什么办法可以dnf在 CentOS 7 上工作吗?

答案1

我不确定为什么会这样,但看起来 epel-release 存储库(从您安装的位置dnf)与其自身不兼容dnf。安装后dnf,首先使用以下命令删除它yum

yum remove epel-release

在那之后:

dnf repolist
dnf list installed

等工作(至少在我的 CentOS 7 系统上)。

答案2

该问题可能与安装的 libsolv 版本不支持 bzip2 压缩有关。像我一样,您可能没有安装最新版本,因为在存储库配置文件中设置了优先级。

无法打开:/var/cache/dnf/x86_64/7/x86_64/7/epel/...xml。乙二

查看错误报告1258416

libsolv-0.6.14-1.el7 已推送到 Fedora EPEL 7 稳定存储库。如果问题仍然存在,请在此错误报告中注明。

从 CentOS 存储库安装的 libsolvbase是 0.6.11-1.el7,但 中的 libsolvepel是 0.6.14-1.el7。

yum --showduplicates --disablerepo=base list libsolv
Installed Packages
libsolv.x86_64          0.6.11-1.el7          @base
Available Packages
libsolv.x86_64          0.6.14-1.el7          epel

解决方案

从存储库安装 libsolv epel

yum --disablerepo=base install libsolv-0.6.14-1.el7

编辑:2016-06-17

正如评论中所见,这仍然是软件包存储库中的一个活跃错误。这是因为libsolv在 EPEL 中被标记为“退休”而没有任何解释(西奥多·范纳尔)。丹尼斯·M·波普尔发现可以在 CentOS 和 RHEL 中运行的版本的 RPM 可用这里在 Fedora 构建系统中。

相关内容