我正在尝试使用命令 yum install contextBroker 更新 Orion ContextBroker。不幸的是,我收到以下错误:
加载的插件:fastestmirror、refresh-packagekit、security
来自缓存的主机文件的镜像速度
错误:无法检索存储库的金属链接:epel。请验证其路径并重试
可能出了什么问题?
您只需要更新 ca-certificates 包。在此之前,只需禁用所有失败的 https 回购。这就是为什么使用评论镜像列表或使用 http 而不是 https 的解决方案也可以工作的原因。
例如,如果您只需要禁用 epel repo:
yum --disablerepo=epel -y update ca-certificates
这也将有助于 wget、curl 和其他任何使用 SSL 证书的东西。
我解决了这个问题,编辑/etc/yum.repos.d/epel.repo
和/etc/yum.repos.d/epel-testing.repo
文件,注释所有以 .mirrorlist=...
开头的条目并取消注释所有以baseurl=...
.
使用这个命令:
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
我想这应该可行。我用这个解决了我的问题。
$ sudo yum 全部清理
$ sudo yum --disablerepo="epel" 更新 nss
更新 curl 对我们有用。yum 不知何故使用 curl 进行交易。
yum update curl --disablerepo=epel
对于我的情况,用 din 注释掉mirrorlist
和取消注释条目是baseurl
行不通的。我注意到问题https
出在.repo
Fedora 文件的内部。我通过进入并用不同的 .repo 文件/etc/yum.repository.d
替换所有文件来解决它。那行得通!https
http
检查您是否通过代理访问 Internet,然后将 Internet 代理地址添加到yum
配置中。
添加
proxy=http://ip:port
至/etc/yum.conf
演练步骤
运行以下命令将更新存储库以使用 HTTP 而不是 HTTPS:
sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo
然后,您应该能够使用以下命令进行更新:
yum -y update
安装 epel-release 后,您可能会遇到此消息/错误。快速修复是更新您的 SSL 证书:
yum -y upgrade ca-certificates
证书更新时也可能发生上述错误,如果是这样,只需禁用epel
repo 即使用以下命令:
yum -y upgrade ca-certificates --disablerepo=epel
更新证书后,您将能够正常使用 yum,即使 epel repo 也可以正常工作。如果您在不同的 repo 中遇到同样的错误,只需将它的名称放在--disablerepo=<repo-name>
标志上。
注意:sudo
如果您不是root
用户,请使用。
我通过这个解决方案解决了这个问题。
您只需更改此文件 /etc/yum.repos.d/epel.repo
mirrorlist= 将此网址 https 更改为 http
baseurl= 将此网址 https 更改为 http
以上所有对我都不起作用,但是使用以下命令重建 rpm 数据库可以:
sudo rpm --rebuilddb
谢谢大家的帮助。
对于无法访问 Internet 的盒子,您可以删除epel
存储库:
yum remove epel-release --disablerepo=epel
这发生在我身上,因为我不小心安装epel-release
在rpm
产品盒上。
即使 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
更改系统时间解决了这个问题。
我通过进入 /etc/yum.repository.d/ 解决了它。对于我的情况,我用 baseurl 注释掉镜像列表和取消注释条目。以及添加 sslverify=false。
https://serverfault.com/questions/637549/epel-repo-for-centos-6-causing-error
我通过将 epel.repo 文件中的 https 条目更改为 http 来解决此问题。
我尝试了大多数这些解决方案,但没有一个对我有用。
唯一对我有用的是禁用和删除有问题的回购。
sudo yum --disablerepo=epel\* remove epel-release.noarch
在我的情况下,当我注释掉镜像列表时,错误消失了,但 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
将镜像列表 URL 从 https 更改为 http 为我解决了这个问题。
像这样固定我的:
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`
这些都不适合我(我什至没有尝试像手动编辑 repo 文件这样的技巧)。
然而,它在一个简单的工作后yum update -y
另一个可能的原因是您的架构不受支持。我遇到了这个问题,因为我得到了一个 CentOS 虚拟机,想要安装 EPEL,但终生无法完成。
原来虚拟机是 CentOS 7 i386,这是一种显然不再被 EPEL 支持的架构。我想在这种情况下唯一的补救措施是重新安装。
尝试
yum clean all --enablerepo=*
然后
yum update --disablerepo=epel
对于过时的 CentOS 6,我在 /etc/yum.repos.d/epel.repo 中使用了它
baseurl=https://d2lzkl7pfhq30w.cloudfront.net/pub/archive/epel/6/$basearch
我在 Windows 10 上运行 Centos 7 virtualbox 虚拟机时遇到此错误。经过一番折腾后,我发现错误来自 yum 尝试使用 IPV6,因此我必须编辑 /etc/yum.conf 并添加:
ip_resolve = 4
我希望这可以帮助其他人在这个错误上花费的时间比我少!
首先,检查 /etc/yum.conf 中的“yum”配置然后尝试上述提示 :-)
baseurl
我通过取消注释和注释中的metalink
行解决了我的问题/etc/yum.repos.d/epel.repo
。