更新
2022.2.3 设置初稿
问题描述
问题发生在2022/2/1号左右,题主在Centos8服务器中在执行到 `yum update`时类似反馈下面的消息:
考虑到该服务器之前没有操作过切换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就恢复正常了