121

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

加载的插件:fastestmirror、refresh-packagekit、security

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

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

可能出了什么问题?

4

26 回答 26

187

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

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

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

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

于 2014-12-27T12:12:09.567 回答
145

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

于 2014-11-04T12:51:25.153 回答
66

使用这个命令:

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
于 2015-01-12T12:23:37.807 回答
22

我想这应该可行。我用这个解决了我的问题。

$ sudo yum 全部清理

$ sudo yum --disablerepo="epel" 更新 nss

于 2015-06-26T06:09:44.480 回答
22

更新 curl 对我们有用。yum 不知何故使用 curl 进行交易。

yum update curl --disablerepo=epel
于 2019-06-14T07:54:26.013 回答
21

对于我的情况,用 din 注释掉mirrorlist和取消注释条目是baseurl行不通的。我注意到问题https出在.repoFedora 文件的内部。我通过进入并用不同的 .repo 文件/etc/yum.repository.d替换所有文件来解决它。那行得通!httpshttp

于 2014-11-23T15:37:33.833 回答
11

检查您是否通过代理访问 Internet,然后将 Internet 代理地址添加到yum配置中。

添加

proxy=http://ip:port

/etc/yum.conf

于 2016-05-03T09:54:55.453 回答
8

演练步骤

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

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

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

yum -y update
于 2015-01-09T11:02:09.990 回答
6

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

yum -y upgrade ca-certificates

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

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

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


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

于 2016-12-02T07:34:11.917 回答
5

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

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

mirrorlist= 将此网址 https 更改为 http

baseurl= 将此网址 https 更改为 http

于 2015-02-04T06:28:39.667 回答
4

以上所有对我都不起作用,但是使用以下命令重建 rpm 数据库可以:

sudo rpm --rebuilddb

谢谢大家的帮助。

于 2015-03-05T20:20:01.327 回答
3

对于无法访问 Internet 的盒子,您可以删除epel存储库:

yum remove epel-release --disablerepo=epel

这发生在我身上,因为我不小心安装epel-releaserpm产品盒上。

于 2016-06-30T17:39:04.507 回答
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

在我的情况下,https 连接失败的原因是系统日期设置为 2002 年,其中DigiCert High Assurance EV Root CA(尚未)有效。

$ date
Di 1. Jan 11:10:35 CET 2002

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

于 2018-04-23T08:00:21.113 回答
2

我通过进入 /etc/yum.repository.d/ 解决了它。对于我的情况,我用 baseurl 注释掉镜像列表和取消注释条目。以及添加 sslverify=false。

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

于 2014-11-27T14:06:52.400 回答
2

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

于 2015-04-13T14:26:56.257 回答
2

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

唯一对我有用的是禁用和删除有问题的回购。

sudo yum --disablerepo=epel\* remove epel-release.noarch
于 2021-03-18T17:20:34.970 回答
1

在我的情况下,当我注释掉镜像列表时,错误消失了,但 repo 也没有工作,所以我手动将正确的 baseurl 指向 /etc/yum.repos.d/epel.repo如下

[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

于 2020-07-07T16:35:50.787 回答
0

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

于 2016-04-19T20:26:34.977 回答
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`
于 2017-10-30T22:38:39.727 回答
0

这些都不适合我(我什至没有尝试像手动编辑 repo 文件这样的技巧)。

然而,它在一个简单的工作后yum update -y

于 2019-05-29T21:38:20.090 回答
0

另一个可能的原因是您的架构不受支持。我遇到了这个问题,因为我得到了一个 CentOS 虚拟机,想要安装 EPEL,但终生无法完成。

原来虚拟机是 CentOS 7 i386,这是一种显然不再被 EPEL 支持的架构。我想在这种情况下唯一的补救措施是重新安装。

于 2019-12-18T09:22:05.047 回答
0

尝试

yum clean all --enablerepo=*

然后

yum update --disablerepo=epel
于 2020-12-06T17:40:30.213 回答
0

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

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

于 2021-06-21T07:37:51.027 回答
0

我在 Windows 10 上运行 Centos 7 virtualbox 虚拟机时遇到此错误。经过一番折腾后,我发现错误来自 yum 尝试使用 IPV6,因此我必须编辑 /etc/yum.conf 并添加:

ip_resolve = 4

我希望这可以帮助其他人在这个错误上花费的时间比我少!

于 2021-10-18T15:54:40.760 回答
0

首先,检查 /etc/yum.conf 中的“yum”配置然后尝试上述提示 :-)

于 2021-10-28T12:10:53.730 回答
-1

baseurl我通过取消注释和注释中的metalink行解决了我的问题/etc/yum.repos.d/epel.repo

于 2021-11-22T12:41:07.297 回答