CentOS 6的EPEL回购导致错误


53

我有一个运行CentOS 6(64位)的VM,并且我像往常一样尝试添加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

但是,当我尝试对任何事情运行yum时,都会出现此错误:

[root @ core /]#百胜榜

加载的插件:最快的镜像

确定最快的镜像

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

有任何想法吗?我很沮丧!


4
当您尝试执行它告诉您的操作时会发生什么?
迈克尔·汉普顿

我很确定这与路径无关。这与我之前无数次添加EPEL且从未遇到过这样的错误的方式相同。幕后一定有事发生吧?
汤姆·威尔逊

1
extras存储库中有一个用于启用EPEL存储库的软件包,我通常从那里安装它。由于默认情况下启用了附加功能,因此只需执行以下操作即可完成yum install epel-release
Brian

Answers:


116

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

sudo yum upgrade ca-certificates --disablerepo=epel

您需要禁用epel repo,以便此命令成功。更新证书后,您可以正常使用yum,因为EPEL将再次起作用。


2
这是解决问题的正确方法。
TlmaK0 2014年

我已经在受此问题影响的CentOS 6.5 便当盒上对此进行了测试,它在运行时确实使事情变得更加可靠yum clean all && yum makecache。但是,有时仍然会失败。在我的脚本中添加重试使其更加可靠。我怀疑某些镜像不可靠,重试可以使另一个镜像正常工作。因此,如果起初没有成功,请重试!
TrinitronX

在实际运行完整升级后,请不要忘记运行“ sudo yum upgrade”。
斯基达登

yum upgrade可以在带有http的框上使用。但是,我的盒子无法访问互联网。还有其他选择吗?
霍华德·李

1
好的,回答我自己的评论。使用yum remove epel-release --disablerepo=epel上框不可上网(是的,我不小心rpm -Uvh epel-release在PROD箱)
霍华德李

14

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

[epel]
...
sslverify=false

我不认为这是绝对不安全的,因为软件包本身仍通过GPG签名检查进行了验证。


3
我所做的就是在仓库列表中将https更改为http,并且可以正常工作,但我不必这样做。
汤姆·威尔逊

8

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

sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

5

可笑地使用安全HTTP会引起问题,但正常的HTTP可以正常工作。全新安装不应该发生这种情况,因此Fedora的存储库一定存在问题。现在正在工作。


3
如果您更新系统的“ ca证书”,它将再次起作用。可能与CA有关,也许已过期和/或被撤销了?(yum更新ca证书)
女高音

这不仅对我不起作用,而且在尝试安装ca-certificates时我开始出现错误,然后当我拥有最新版本时,我仍然看到它在构建过程中四处发生。将协议更改为http并不是解决方案。
DrStrangepork
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.