通过yum命令安装软件时提示“网络不可达”,同时又显示了不可达的网络地址,如下:

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was
14: curl#7 - "Failed to connect to 2a05:d012:8b5:6503:9efb:5cad:348f:e826: Network is unreachable"


Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was
14: curl#7 - "Failed to connect to 2001:4178:5:200::10: Network is unreachable"

http://vault.centos.org/centos/7/os/Source/repodata/repomd.xml: [Errno 12] Timeout on http://vault.centos.org/centos/7/os/Source/repodata/repomd.xml: (28, 'Connection timed out after 30000 milliseconds')

在上述错误信息中,可以看出访问mirrorlist.centos.org这个地址时网络不可达。

但在Base.repo中配置的baseurl=http://mirrors.mycompany.org/centos/$releasever/extras/$basearch/。而且这个地址是能够ping通的。

导致这个错误的原因是在/etc/yum.repos.d目录下有多个Base.repo和*.repo,其中包含了上述网络不可达地址的repo配置。比如:

-rw-r--r-- 1 root root 1.2K Apr 30  2019 /etc/yum.repos.d/Centos-Base.repo
-rw-r--r-- 1 root root 1.7K Nov 23  2020 /etc/yum.repos.d/CentOS-Base.repo
-rw-r--r-- 1 root root 1.3K Sep  3 16:49 /etc/yum.repos.d/CentOS-CR.repo
-rw-r--r-- 1 root root  649 Nov 23  2020 /etc/yum.repos.d/CentOS-Debuginfo.repo
-rw-r--r-- 1 root root  314 Nov 23  2020 /etc/yum.repos.d/CentOS-fasttrack.repo
-rw-r--r-- 1 root root  630 Nov 23  2020 /etc/yum.repos.d/CentOS-Media.repo
-rw-r--r-- 1 root root 1.3K Nov 23  2020 /etc/yum.repos.d/CentOS-Sources.repo
-rw-r--r-- 1 root root 8.4K Nov 23  2020 /etc/yum.repos.d/CentOS-Vault.repo
-rw-r--r-- 1 root root  616 Nov 23  2020 /etc/yum.repos.d/CentOS-x86_64-kernel.repo
-rw-r--r-- 1 root root  924 Oct 30  2020 /etc/yum.repos.d/epel.repo

真正这种问题,解决方案是挨个排查*.repo文件,找对不可达的那个地址在哪个文件中,然后进行删除或修改名称备份即可。

查看和删除命令如下:

vim CentOS-CR.repo
rm CentOS-CR.repo
# 等等类似操作

然后再执行如下命令:

yum makecache

之后,就可以进行对应的软件包安装了。



yum报错网络不可达,但是配置的网络能够ping通插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2022/08/18/yum/