![CentOS 7安装dnf后出错](https://linux22.com/image/79751/CentOS%207%E5%AE%89%E8%A3%85dnf%E5%90%8E%E5%87%BA%E9%94%99.png)
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 构建系统中。