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

Jos*_*epB 91 rpm yum fiware epel

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

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

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

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

怎么可能出错?

XoR*_*XoR 154

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

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

yum --disablerepo=epel -y update  ca-certificates
Run Code Online (Sandbox Code Playgroud)

这也有助于wget,curl和其他任何使用SSL证书的东西.

  • 这应该被接受为正确的答案,因为它诊断问题的真正根源,而不仅仅是提供解决方法. (5认同)
  • epel-repo RPM应该具有ca证书具有依赖性! (3认同)
  • 确保您是否在公司代理后面也将其设置为https,例如`export https_proxy = <您的代理>。 (2认同)

fga*_*lan 102

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

  • 我没有 `mirrorlist=` 行,但有 `metalink=` 行,这些行需要注释。 (3认同)
  • 注释所有以metalink = ...开头的条目,并取消注释所有以baseurl = ....开头的条目。 (2认同)
  • 尝试了你的方法,然后“yum clean all && yum update”起作用了。但不完全是这样,它说“epel-release-7-11.noarch:[Errno 256]没有更多的镜像可以尝试”等。所以我按照sbetharia的建议尝试了“yum update curl --disablerepo = epel”,并尝试了“yum”再次清理所有&& yum update`,现在终于起作用了。 (2认同)

小智 50

使用此命令:

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

或者使用命令

vi /etc/yum.repos.d/epel.repo
Run Code Online (Sandbox Code Playgroud)

转到第4行并更改网址

mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
Run Code Online (Sandbox Code Playgroud)

mirrorlist=http://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
Run Code Online (Sandbox Code Playgroud)

  • 在 Cent OS 7.6 中,这是 `sudo sed -i "s/metalink=https/metalink=http/" /etc/yum.repos.d/epel.repo` (3认同)
  • 谢谢; 在尝试了许多其他记录的解决方案后,这对我有用(我的错误是,“无法检索存储库的metalink:epel/x86_64。请验证其路径并重试”)。我的问题是,**为什么会这样?**这是由于存储库站点的配置问题造成的吗? (2认同)

Jos*_* N. 17

对于我的案例评论mirrorlist和解开条目与不baseurl工作.我注意到问题在于httpsinoraide .repofedora文件.我首先要在解决了它/etc/yum.repository.d,并更换所有httpshttp不同的.repo文件来.那工作!!


Var*_*run 10

我想这应该工作。我解决了这个问题。

$ sudo yum clean all

$ sudo yum --disablerepo =“ epel”更新nss

  • 这适用于 Centos 6.8。谢谢 (3认同)

小智 9

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

proxy=http://ip:port to /etc/yum.conf
Run Code Online (Sandbox Code Playgroud)

  • 确保还指定了https代理. (2认同)

Var*_*ork 5

演练步骤

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

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

然后,您应该可以使用以下命令进行更新:

yum -y update
Run Code Online (Sandbox Code Playgroud)


小智 5

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

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

mirrorlist =将此URL https更改为http

baseurl =将此URL https更改为http


Nab*_*med 5

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

yum -y upgrade ca-certificates
Run Code Online (Sandbox Code Playgroud)

证书更新时也可能会发生上述错误,如果这样,只需禁用存储epel库即可,即使用以下命令:

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

证书更新后,您就可以正常使用yum,即使是epel仓库也可以正常工作。如果您在不同的仓库中遇到相同的错误,只需将其名称放在--disablerepo=<repo-name>标志上即可。


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


sbe*_*ria 5

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

yum update curl --disablerepo=epel
Run Code Online (Sandbox Code Playgroud)