CentOS 8: No URLs in mirrorlist error、CentOS 8: yum 设置为阿里源
一. CentOS 8: No URLs in mirrorlist error
问题:
在CentOS 8中,使用yum时出现错误,镜像列表中没有url,类似如下:
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
原因
在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS 8的所有包。
CentOS 8已于2021年12月31日寿终正非,但软件包仍在官方镜像上保留了一段时间。现在他们被转移到https://vault.centos.org
解决方法
如果你仍然需要运行CentOS 8,你可以在/etc/yum.repos.d中更新一下源。使用vault.centos.org代替mirror.centos.org。
# sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
# sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
本质上是用仍在运行的URL替换之前的URL。这一段时间内应该可以解决这个问题。
ps:
更新于2022-2-21
同时也可以通过更改为阿里云的源,来解决这一问题。以下是centos 8 设置阿里源的链接
centos 8: yum设置为阿里源
二. CentOS 8: yum 设置为阿里源
1、将源文件备份
cd /etc/yum.repos.d/ && mkdir backup && mv *repo backup/
2、下载阿里源文件
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
3、更新源里面的地址
sed -i -e "s|mirrors.cloud.aliyuncs.com|mirrors.aliyun.com|g " /etc/yum.repos.d/CentOS-*
sed -i -e "s|releasever|releasever-stream|g" /etc/yum.repos.d/CentOS-*
4、生成缓存
yum clean all && yum makecache