马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在 CentOS 7 上跑 yum install,冷不丁来一句 Could not resolve host: mirrorlist.centos.org; Unknown error,很多人第一反应是网络断了、DNS 坏了。其实更常见的原因是:CentOS 7 已经停止维护,官方 yum 仓库下线,mirrorlist.centos.org 这个域名解析不到了。这篇给出定位和解决办法。
一、先把问题定位清楚
先跑一下:
ping -c 2 mirrors.aliyun.com
cat /etc/resolv.conf
如果别的域名也解析不了,那是 DNS 或网络问题(去查网卡配置、防火墙、代理);如果只有 mirrorlist.centos.org 解析失败而其他域名都正常,那就基本坐实是 CentOS 7 官方源下线了——这种情况换国内镜像源即可。
二、备份现有 repo 配置
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo-history
改名而不是删除,留出回退余地。
三、拉阿里云的 CentOS 7 repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
更多系统版本的 repo 可以在阿里云开源镜像站的「repo 安装包」页面(mirrors.aliyun.com/repo)里找,CentOS 8 / Stream 9 各有对应文件。
四、清缓存、建缓存
yum clean all
yum makecache
五、还报错怎么办
若执行后仍然提示 Could not resolve host: mirrorlist.centos.org,去 /etc/yum.repos.d/ 下看一遍所有 .repo 文件——问题往往不只在 CentOS-Base.repo 里,其他仓库(比如自己加过的 third-party、epel 镜像、内网同步的旧配置)也会带上 mirrorlist.centos.org。把含有该地址的源文件备份后删掉,再重跑 makecache:
grep -rl "mirrorlist.centos.org" /etc/yum.repos.d/
mkdir -p /tmp/repo-bak && mv 命中该文件 /tmp/repo-bak/
yum clean all && yum makecache
六、验证
yum repolist
yum install htop
仓库列表打印正常、装包能秒下,就算彻底解决。
七、几点补充
- CentOS 7 于 2024 年 6 月 EOL,官方源下线是既定事实,换归档源(vault)或国内镜像都能用,但
yum update 拿到的补丁已不再有安全更新,生产上建议评估迁移到 Rocky Linux / AlmaLinux / Stream 9 / Ubuntu LTS;
- 如果机器在纯内网,可以把一台能上网的机器上的
/var/cache/yum 打出来做本地源,其他机器 createrepo 指向内网路径,比逐台换源更省事;
- 只想临时装一个包,也可以
yum --disablerepo=base install xxx 绕开,但治标不治本。
qidao123.com企服评测-应用市场 编辑提示 |