yum error“无法为存储库检索metalink:epel。请验证其路径并再次尝试”更新ContextBroker

时间:2014-11-04 12:08:21

标签: rpm yum fiware epel

我尝试使用命令yum install contextBroker更新Orion ContextBroker。不幸的是,我收到以下错误:

  

加载的插件:fastermirror,refresh-packagekit,安全加载

     

来自缓存主机文件的镜像速度

     

错误:无法检索存储库的metalink:epel。请验证   它的路径,然后再试一次

可能出现什么问题?

23 个答案:

答案 0 :(得分:142)

您只需要更新ca-certificates包。在此之前,只需使用失败的https禁用所有回购。 这就是为什么使用评论镜像列表或使用http代替https的解决方案也可以。

例如,如果您只需要禁用epel repo:

yum --disablerepo=epel -y update  ca-certificates

这也有助于wget,curl和其他任何使用SSL证书的内容。

答案 1 :(得分:76)

我解决了编辑/etc/yum.repos.d/epel.repo/etc/yum.repos.d/epel-testing.repo文件的问题,评论了以mirrorlist=...开头的所有条目,并取消注释了以baseurl=...开头的所有条目。

答案 2 :(得分:32)

使用此命令:

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

或者使用命令

vi /etc/yum.repos.d/epel.repo

转到第4行并从

更改网址
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

mirrorlist=http://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

答案 3 :(得分:12)

我的案例评论mirrorlist并且baseurl取消评论条目不起作用。我注意到问题出在https iniside .repo fedora文件中。我通过进入/etc/yum.repository.d并在不同的.repo文件中用https替换所有http来解决这个问题。这有效!!

答案 4 :(得分:9)

检查您是否访问互联网投放代理,然后您必须将互联网代理地址添加到yum配置。

添加

proxy=http://ip:port to /etc/yum.conf

答案 5 :(得分:5)

我想这应该有效。我解决了这个问题。

  

$ sudo yum clean all

     

$ sudo yum --disablerepo =“epel”update nss

答案 6 :(得分:5)

安装epel-release后,您可能会遇到此消息/错误。快速解决方法是更新您的SSL证书:

yum -y upgrade ca-certificates

有可能在证书更新时也会出现上述错误,如果是这样,只需禁用epel repo,即使用以下命令:

yum -y upgrade ca-certificates --disablerepo=epel 

一旦证书更新,您就可以正常使用yum,即使epel repo也能正常工作。如果您为不同的回购获得同样的错误,只需将其名称放在--disablerepo=<repo-name>标记上。

注意:如果您不是sudo用户,请使用root

答案 7 :(得分:4)

以上所有内容对我来说都不起作用,但使用以下命令重建rpm数据库时:

sudo rpm --rebuilddb

感谢大家的帮助。

答案 8 :(得分:3)

我通过这个解决方案解决了这个问题。

您只需更改此文件/etc/yum.repos.d/epel.repo

mirrorlist =将此网址https更改为http

baseurl =将此网址https更改为http

答案 9 :(得分:3)

对于无法访问互联网的框,您可以删除epel存储库:

yum remove epel-release --disablerepo=epel

我发生这种情况,因为我在产品盒上使用epel-release意外安装了rpm

答案 10 :(得分:3)

即使ca-certificates包是最新的,我也遇到了同样的问题。镜像https://mirrors.fedoraproject.org/目前由DigiCert High Assurance EV Root CA签署,该ca-bundle包含在我的$ grep -A 3 "DigiCert High" /etc/ssl/certs/ca-bundle.crt # DigiCert High Assurance EV Root CA -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3

DigiCert High Assurance EV Root CA

在我的情况下,https连接失败的原因是系统日期设置为$ date Di 1. Jan 11:10:35 CET 2002 尚未(有效)的2002年。

stylePreprocessorOptions

更改系统时间解决了问题。

答案 11 :(得分:2)

演练步骤

运行以下命令将更新repo以使用HTTP而不是HTTPS:

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

然后您应该能够使用此命令进行更新:

yum -y update

答案 12 :(得分:2)

我通过进入/etc/yum.repository.d/解决了这个问题。对于我的情况,我将使用baseurl注释掉mirrorlist和uncomenting条目。以及添加sslverify = false。

https://serverfault.com/questions/637549/epel-repo-for-centos-6-causing-error

答案 13 :(得分:2)

更新curl对我们有用。 yum以某种方式使用curl进行交易。

yum update curl --disablerepo=epel

答案 14 :(得分:1)

我通过将epel.repo文件中的https条目更改为http来解决此问题。

答案 15 :(得分:1)

在我的情况下,当我注释掉镜像列表时,错误消失了,但是存储库也无法正常工作,因此我在/etc/yum.repos.d/epel.repo中手动将正确的baseurl指向如下,

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://iad.mirror.rackspace.com/epel/7Server/x86_64/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://iad.mirror.rackspace.com/epel/7Server/x86_64/debug/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://iad.mirror.rackspace.com/epel/7Server/SRPMS/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

答案 16 :(得分:0)

对于过时的 CentOS 6,我在 /etc/yum.repos.d/epel.repo 中使用了这个

baseurl=https://d2lzkl7pfhq30w.cloudfront.net/pub/archive/epel/6/$basearch

答案 17 :(得分:0)

我尝试了大多数这些解决方案,但没有一个对我有用。

唯一对我有用的是禁用和删除有问题的存储库。

sudo yum --disablerepo=epel\* remove epel-release.noarch

答案 18 :(得分:0)

尝试

yum clean all --enablerepo=*

然后

yum update --disablerepo=epel

答案 19 :(得分:0)

另一个可能的原因是不支持您的体系结构。我之所以遇到这个问题,是因为我被提供了一个CentOS VM,想要安装EPEL,却终生无法完成它。

事实证明,VM是CentOS 7 i386,它显然是EPEL不再支持的体系结构。我想在这种情况下,唯一的补救方法是重新安装。

答案 20 :(得分:0)

这些都不适合我(我什至没有尝试过像手动编辑回购文件那样的黑客技巧。)

但是在简单的yum update -y

之后,

答案 21 :(得分:0)

修正了我这样的:

yum install elfutils-default-yama-scope-0.168-8.el7.noarch --disablerepo=epel
yum install nss-pem -disablerepo=epel
yum reinstall ca-certificates --disablerepo=epel
yum clean all
rm -rf /var/cache/yum
yum update`

答案 22 :(得分:0)

将镜像列表网址从https更改为http为我解决了这个问题。