Centos执行yum命令报错
错误描述
错误:为仓库 ‘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=stock [Could not resolve host: mirrorlist.centos.org]
推荐方案
1. 修改仓库配置指向存档仓库(推荐)
运行以下命令,将仓库配置中的 mirrorlist 替换为 vault.centos.org:
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
2. 清理并更新YUM缓存
sudo yum clean all
sudo yum makecache
3. 测试安装软件
sudo yum update
替代方案:使用国内镜像源(如阿里云、清华大学)
如果 vault.centos.org 速度较慢,可以改用国内镜像源。例如阿里云:
备份原有仓库配置
sudo mkdir /etc/yum.repos.d/backup
sudo mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/backup/
下载阿里云仓库配置
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
清理并重建缓存
sudo yum clean all
sudo yum makecache
原因解释
CentOS 8已结束生命周期,官方镜像(mirrorlist.centos.org)不再维护。
新的仓库地址需要指向 vault.centos.org 或第三方镜像源。
验证是否成功
运行以下命令检查仓库是否正常:
sudo yum repolist
如果显示仓库列表,则表示已修复。
附:临时修复DNS(可选)
如果怀疑是DNS问题,可尝试修改DNS服务器:
echo “nameserver 8.8.8.8” | sudo tee /etc/resolv.conf
通过以上步骤,你的仓库问题应该可以解决。如果仍有问题,请检查网络连接或防火墙设置。