# 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

在这里插入图片描述