我试图在我的 Fedora 22 机器上启用 EPEL 存储库,但我破坏了它,现在抛出错误
I attempted to enable the EPEL repo on my Fedora 22 machine and I broke it, now errors are thrown
我尝试通过 运行ning
在我的 Fedora 22 机器上启用 EPEL
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
然后
sudo rpm -ivh epel-release-7-5.noarch.rpm
现在当我 运行
dnf repolist
我得到以下内容
[sinux1@horrible-host ~]$ sudo dnf repolist
Extra Packages for Enterprise Linux 7 - x86_64 1.8 MB/s | 9.0 MB 00:05
Failed to open: /var/cache/dnf/epel-2b6dfc5904c26562/repodata/49c4e3bd54f19136521be9b254830c954369cc22ce1b661db502ebef13b0004c-updateinfo.xml.bz2.
[sinux1@horrible-host ~]$
我被卡住了,不确定我的下一步是什么。我怎样才能扭转我所做的,启用 EPEL 的正确方法是什么?
感谢您的任何输入
我和 Sinux Tine 做了同样的事情,结果陷入了某种僵局。
首先尝试像 Rup 说的那样做。
如果一切 都失败了,请尝试以下作为最后的手段。它对我有用。
> su
> cd /var/cache/dnf/epel-2b6dfc5904c26562/repodata
> mkdir throwaway
> mv 49c4e3bd54f19136521be9b254830c954369cc22ce1b661db502ebef13b0004c-updateinfo.xml.bz2 throwaway
这有效地删除了 dnf 说它无法打开的文件。
如果问题得到解决,您可以删除一次性目录及其内容。
这似乎对我有用。
删除 epel 存储库
rm -rf /etc/yum.repos.d/epel*
然后尝试通过 dnf 安装 epel
dnf 全部清理
dnf 安装 epel-release
当前的 libsolv 版本没有 bz2 压缩。
解决方案:在libsolv中启用bunzip2压缩,基本上'yum update libsolv',然后重新安装epel-release。
为了补充 Centos 7
的答案,我执行了以下步骤:
下载 patched
的 libsolv-0.6.14-1.el7
安装它
sudo rpm -ivh libsolv-0.6.14-1.el7.centos.x86_64.rpm
如果我们得到与之前版本的冲突
warning: libsolv-0.6.14-1.el7.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 1b6f9f55: NOKEY
Preparing... ################################# [100%]
file /usr/lib64/libsolv.so.0 from install of libsolv-0.6.14-1.el7.centos.x86_64 conflicts with file from package libsolv-0.6.11-1.el7.x86_64
file /usr/lib64/libsolvext.so.0 from install of libsolv-0.6.14-1.el7.centos.x86_64 conflicts with file from package libsolv-0.6.11-1.el7.x86_64
我们继续删除以前的版本
sudo yum erase libsolv-0.6.11-1.el7.x86_64
并安装打补丁的 libsolv 包
sudo rpm -ivh libsolv-0.6.14-1.el7.centos.x86_64.rpm
我们需要重新安装 dnf
包管理器,因为它在删除 libsolv 后被删除,所以我们使用以下命令安装。
sudo yum install dnf
我们现在使用 sudo dnf repolist
验证它,给我们正确的输出。
Using metadata from Mon Jun 13 10:53:11 2016
repo id repo name status
base CentOS-7 - Base 9,007
我尝试通过 运行ning
在我的 Fedora 22 机器上启用 EPELwget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
然后
sudo rpm -ivh epel-release-7-5.noarch.rpm
现在当我 运行
dnf repolist
我得到以下内容
[sinux1@horrible-host ~]$ sudo dnf repolist
Extra Packages for Enterprise Linux 7 - x86_64 1.8 MB/s | 9.0 MB 00:05
Failed to open: /var/cache/dnf/epel-2b6dfc5904c26562/repodata/49c4e3bd54f19136521be9b254830c954369cc22ce1b661db502ebef13b0004c-updateinfo.xml.bz2.
[sinux1@horrible-host ~]$
我被卡住了,不确定我的下一步是什么。我怎样才能扭转我所做的,启用 EPEL 的正确方法是什么? 感谢您的任何输入
我和 Sinux Tine 做了同样的事情,结果陷入了某种僵局。
首先尝试像 Rup 说的那样做。
如果一切 都失败了,请尝试以下作为最后的手段。它对我有用。
> su
> cd /var/cache/dnf/epel-2b6dfc5904c26562/repodata
> mkdir throwaway
> mv 49c4e3bd54f19136521be9b254830c954369cc22ce1b661db502ebef13b0004c-updateinfo.xml.bz2 throwaway
这有效地删除了 dnf 说它无法打开的文件。
如果问题得到解决,您可以删除一次性目录及其内容。
这似乎对我有用。
删除 epel 存储库
rm -rf /etc/yum.repos.d/epel*
然后尝试通过 dnf 安装 epel
dnf 全部清理 dnf 安装 epel-release
当前的 libsolv 版本没有 bz2 压缩。 解决方案:在libsolv中启用bunzip2压缩,基本上'yum update libsolv',然后重新安装epel-release。
为了补充 Centos 7
的答案,我执行了以下步骤:
下载 patched
的libsolv-0.6.14-1.el7
安装它
sudo rpm -ivh libsolv-0.6.14-1.el7.centos.x86_64.rpm
如果我们得到与之前版本的冲突
warning: libsolv-0.6.14-1.el7.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 1b6f9f55: NOKEY
Preparing... ################################# [100%]
file /usr/lib64/libsolv.so.0 from install of libsolv-0.6.14-1.el7.centos.x86_64 conflicts with file from package libsolv-0.6.11-1.el7.x86_64
file /usr/lib64/libsolvext.so.0 from install of libsolv-0.6.14-1.el7.centos.x86_64 conflicts with file from package libsolv-0.6.11-1.el7.x86_64
我们继续删除以前的版本
sudo yum erase libsolv-0.6.11-1.el7.x86_64
并安装打补丁的 libsolv 包
sudo rpm -ivh libsolv-0.6.14-1.el7.centos.x86_64.rpm
我们需要重新安装 dnf
包管理器,因为它在删除 libsolv 后被删除,所以我们使用以下命令安装。
sudo yum install dnf
我们现在使用 sudo dnf repolist
验证它,给我们正确的输出。
Using metadata from Mon Jun 13 10:53:11 2016
repo id repo name status
base CentOS-7 - Base 9,007