# CentOS 8 中 更新或下载时报错:为仓库 ‘appstream‘ 下载元数据失败 : Cannot prepare internal mirrorlist
原因 : CentOS Linux 8 已于 2021 年 12 月 31 日停止更新和维护,由于 CentOS 团队从官方镜像中移除 CentOS 8 的所有包,所以在使用 yum 源安装或更新会报上述失败错误。
# 一、错误重现
| CentOS Stream 8 - AppStream 0.0 B/s | 0 B 00:00 | |
| Errors during downloading metadata for repository 'appstream': | |
| - Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8-stream&arch=x86_64&repo=AppStream&infra=stock [Could not resolve host: mirrorlist.centos.org] | |
| 错误:为仓库 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8-stream&arch=x86_64&repo=AppStream&infra=stock [Could not resolve host: mirrorlist.centos.org] | 
或者
| Failed to set locale, defaulting to C.UTF-8 | |
| CentOS Linux 8 - AppStream 0.0 B/s | 0 B 00:00 | |
| Errors during downloading metadata for repository 'appstream': | |
| - Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=container [Could not resolve host: mirrorlist.centos.org] | |
| Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=container [Could not resolve host: mirrorlist.centos.org] | 
# 二、解决办法
进入仓库源文件夹下
| cd /etc/yum.repos.d/ | 
修改镜像配置内容
| sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* | |
| sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* | 
清空原有缓存,并重新生成
| yum clean all && yum makecache | 
更新软件包
| yum update -y | 

