「YUM」- 禁用 mirrorlist、metalink 检查

  CREATE BY JENKINSBOT
原文链接:「YUM」- 禁用 mirrorlist、metalink 检查
文章分类:「03.Operating_System_Administration:Package_Management_System:RPM,_YUM_and_DNF:3.Disable_mirrorlist」
文章标识:「db347b8e」

问题描述

当我们使用 YUM 安装应用时,它会检查 mirrorlist、metalink 配置,以获取速度最快的第三方镜像站点。

但是,第三方镜像站点并不总是可靠,有时会返回各种错误,比如下面这些错误:

在 CentOS release 6.5 (Final) 中,安装 epel-release 仓库后,执行 yum makecache 命令会产生如下错误:

Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

在 CentOS Linux release 7.4 上,执行命令 yum install transmission-cli 产生如下错误:

...
https://mirrors.sonic.net/epel/7/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
https://dfw.mirror.rackspace.com/epel/7/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
https://d2lzkl7pfhq30w.cloudfront.net/pub/epel/7/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
...

在 CentOS Linux release 7.5 上,执行命令 yum install sysstat 产生如下错误:

...
http://mirrors.neusoft.edu.cn/centos/7.5.1804/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
http://mirrors.zju.edu.cn/centos/7.5.1804/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
http://mirrors.nwsuaf.edu.cn/centos/7.5.1804/os/x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
...

问题原因

这些问题多半是因为第三方镜像站点导致的,比如:站点无法访问;无法取回元信息;数据存在问题

解决办法

官方仓库是可靠的,我们会直接使用官方仓库。需要修改 /etc/yum.repos.d/epel.repo 文件:

# 备份
cp -drv /etc/yum.repos.d /etc/yum.repos.d.backup.$(date '+%Y%m%d')

# 注释 mirrorlist=、metalink= 行,启用 baseurl= 行
for i in $(find /etc/yum.repos.d/ -type f -name '*.repo')
do
	echo "# filename: $i"
	sed -E -i 's/^mirrorlist=/# mirrorlist=/' "$i"
	sed -E -i 's/^metalink=/# metalink=/' "$i"
	sed -E -i 's/^#\s*baseurl=/baseurl=/' "$i"
done

附加说明

如果要单独禁用某给镜像站点,可以使用 [main] 的 exclude 参数,详细参考 man 5 yum.conf 手册。

参考文献