CentOS 6 的 EPEL Repo 导致错误

Tom*_*son 54 linux yum epel centos6

我有一个运行 CentOS 6(64 位)的虚拟机,我正在尝试像往常一样添加 EPEL 存储库以安装各种软件包,因为我经常这样做。

今天,我遇到了一些奇怪的错误,但我没有做任何不同的事情。

我正在像这样添加 EPEL:

# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试为任何东西运行 yum 时,我收到了这个错误:

[root@core /]# yum 列表

加载的插件:fastestmirror

确定最快的镜像

错误:无法检索存储库的 metalink:epel。请验证其路径并重试

有任何想法吗?我难住了!

Jo *_*ett 118

正确的解决方法是更新您的 SSL 证书。

sudo yum upgrade ca-certificates --disablerepo=epel
Run Code Online (Sandbox Code Playgroud)

您需要禁用 epel 存储库,以便此命令成功。更新证书后,您可以正常使用 yum,因为 EPEL 将再次运行。

  • 这是解决问题的正确方法。 (2认同)

Mad*_*ter 15

我遇到了这个问题,归结为在通过 HTTPS 获取 EPEL 的更新 metalink 文件时无法验证 SSL 证书。我想我可以深入证书链找出原因,但为了让我的服务器再次工作,我通过添加以下行来回避问题/etc/yum.repos.d/epel.repo

[epel]
...
sslverify=false
Run Code Online (Sandbox Code Playgroud)

我不认为这非常不安全,因为包本身仍然通过 GPG 签名检查进行验证。

  • 我所做的只是将 repo 列表中的 https 更改为 http 并且它确实有效,但我不应该这样做。 (3认同)

小智 9

您可以通过以 root/sudo 身份运行以下命令来修改 epel 存储库以使用 http 而不是 https

sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo
Run Code Online (Sandbox Code Playgroud)


Tom*_*son 6

荒谬地使用安全 HTTP 会导致问题,但正常的 HTTP 工作正常。全新安装不会发生这种情况,因此 Fedora 的存储库肯定存在问题。它现在正在工作。

  • 如果你更新你的系统'ca-certificates',它会再次工作。可能与 CA 有关,也许是过期和/或撤销?(yum update ca-certificates) (3认同)