Linux:CentOS 8.5.2111 报错(yum源更新报错):“failovermethod” does not exist 与 Failed to download metadata for repo ‘appstream’解决方法
今天使用Centos Stream 8进行下载软件时报错,错误如下:
问题一
Configuration: OptionBinding with id “failovermethod” does not exist(配置:ID 为 “failovermethod” 的 OptionBinding 不存在)
-
首先切换到目录:/etc/yum.repos.d/ 查看源文件
#切换目录 cd /etc/yum.repos.d/
-
备份源文件信息,并清除无用源文件
# 备份源文件信息 tar zcf /home/yum.repos.d.tar.gz /etc/yum.repos.d/ # 清除无用的源文件信息 rm -rf CentOS-*.rpmsave
-
注释CentOS-Epel.repo源文件中的failovermethod=priority
# 修改CentOS-Epel.repo文件 vi CentOS-Epel.repo
第一个问题解决!
问题二
Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist
-
查看网路是否出现问题
尝试ping百度进行测试
# 测试丢包 ping www.baidu.com
-
检查对应的软件源是否出现问题
CentOs Linux 8 从 2021.10.31 号后已经停止维护,所以之后更新镜像需要通过 vault.centos.org来获取更新
所以需要修改软件源mirrors 地址,具体操作如下:
# 进入/etc/yum.repos.d目录 cd /etc/yum.repos.d/ # 修改所有源的链接地址 # 注释掉mirrorlist链接路径 sed -i 's/mirrorlist=/#mirrorlist=/g' /etc/yum.repos.d/CentOS-* # 解开并修改baseurl链接路径 sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* # 重建缓冲 yum clean all && yum makecache
-
修改源地址为阿里地址
# 继续第二步进行修改baseurl链接路径 # 修改为阿里源路径 sed -i 's|baseurl=http://mirrors.tencentyun.com/epel/$releasever/Everything/$basearch|baseurl=http://mirrors.aliyun.com/epel-archive/8/Everything/$basearch|g' /etc/yum.repos.d/CentOS-Epel.repo sed -i 's|baseurl=http://vault.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/|baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/BaseOS/$basearch/os/|g' /etc/yum.repos.d/CentOS-Linux-BaseOS.repo sed -i 's|baseurl=http://vault.centos.org/$contentdir/$releasever/AppStream/$basearch/os/|baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/$basearch/os/|g' /etc/yum.repos.d/CentOS-Linux-AppStream.repo sed -i 's|baseurl=http://vault.centos.org/$contentdir/$releasever/extras/$basearch/os/|baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/$basearch/os/|g' /etc/yum.repos.d/CentOS-Linux-Extras.repo # 重建缓冲 yum clean all && yum makecache
第二个问题解决!