Centos8 下载元数据失败:Cannot prepare internal mirrorlist: No URLs in mirrorlist

更新

2022.2.3 设置初稿

问题描述     

   问题发生在2022/2/1号左右,题主在Centos8服务器中在执行到 `yum update`时类似反馈下面的消息:

考虑到该服务器之前没有操作过切换yum的源,并且之前是正常的,推测可以观看该官方文章

官方文章地址

· 初步的解决办法是替换yum的源,这里作者在替换到阿里云的源的时候,存在一些坑,因此作为记录

· 有其他的解决方法,但是题主尝试没成功,对应的网址为

相关的其他解决方法


替换yum源(阿里云源)

简要的替换方式可以参考下面替换yum的源到阿里云的源的方法

替换yum的源到阿里云的源

① 跳转到/etc/yum.repos.d

cd /etc/yum.repos.d

② 将相关的文件进行备份(该操作一定要做,防止出现其他的问题导致陷入尴尬的局面)

cp /etc/yum.repos.d/CentOS-Appstream.repo /etc/yum.repos.d/CentOS-Appstream.repo.backup

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

cp /etc/yum.repos.d/CentOS-centosplus.repo  /etc/yum.repos.d/CentOS-centosplus.repo.backup

cp /etc/yum.repos.d/CentOS-Extras.repo  /etc/yum.repos.d/CentOS-Extras.repo.backup

cp /etc/yum.repos.d/CentOS-PowerTools.repo /etc/yum.repos.d/CentOS-PowerTools.repo.backup

③ 下载覆盖,因为是centos8,所以执行(具体其他版本的地址可以参考上面的链接)

wget -O/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

④ 修改 CentOS-Base.repo(该步骤开始是有坑的地方)

其他的网址教程中到③后,第④步就是` yum makecache `。但是题主在这一步仍然还是下载元数据失败错误,因此才有了这次的记录

根据上面链接下载的CentOS-Base.repo,是这样的

其中有几处需要修改,可以见下面的截图


· 红圈中 

(注释该项)

failovermethod=priority    ->  # failovermethod=priority

· 黄圈中(注意蓝圈不一样,千万别改了一个其他直接一行复制)

将centos改成 centos-vault ,  $releasever 需要根据您的Linux内核版本(题主为8.0.1905)到https://mirrors.aliyun.com/centos-vault/ 查看是否有该版本,然后做替换, 如:

https://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/

https://mirrors.aliyun.com/centos-vault/8.0.1905/BaseOS/$basearch/os/

黄圈修改的原因为,执行yum makecache, 会访问 BaseOS, 这里可以看到下面的链接,原有链接中找不到BaseOS,而替换的链接是有的

https://mirrors.aliyun.com/centos/8/

https://mirrors.aliyun.com/centos-vault/8.0.1905/

修改完后,文件类似于


⑤ 修改 CentOS-Appstream.repo 文件,

vim CentOS-Appstream.repo

添加一行(8.0.1905需要替换为您上面修改的版本号)

baseurl=https://mirrors.aliyun.com/centos-vault/8.0.1905/AppStream/$basearch/os/

⑥ 修改 CentOS-centosplus.repo, CentOS-Extras.repo, CentOS-PowerTools.repo

添加baseurl,如第⑤步骤

CentOS-centosplus.repo

baseurl=https://mirrors.aliyun.com/centos-vault/8.0.1905/centosplus/$basearch/os/

CentOS-Extras.repo

baseurl=https://mirrors.aliyun.com/centos-vault/8.0.1905/extras/$basearch/os/

CentOS-PowerTools.repo

baseurl=https://mirrors.aliyun.com/centos-vault/8.0.1905/PowerTools/$basearch/os/

PS. 注意每一个地址都是不一样的,千万不要把第一个复制到其他的文件.

PS.这些的地址来源于 CentOS-Base.repo, 也可以在里面进行复制

⑦ 执行更新

yum clear all

yum makecache

之后yum就恢复正常了


你可能感兴趣的:(Centos8 下载元数据失败:Cannot prepare internal mirrorlist: No URLs in mirrorlist)