CentOS 7能联网但yum报错:Could not resolve host: mirrorlist.centos.org
终极解决方法
关键词:CentOS 7, yum, Could not resolve host, mirrorlist.centos.org, 软件源, EOL
问题描述
大家好!相信很多还在使用 CentOS 7 的朋友都遇到了这个问题:虚拟机明明可以 ping
通外网,浏览器也能打开网页,但一使用 yum
命令就报错,提示 Could not resolve host: mirrorlist.centos.org
和 Cannot find a valid baseurl for repo: base/7/x86_64
。
bash
sudo yum install wget 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误" ... Cannot find a valid baseurl for repo: base/7/x86_64
别急,这不是你的网络配置问题! 本文教你如何快速解决它。
问题根源
这个错误的主要原因是因为 CentOS 7 已在 2024 年 6 月 30 日停止维护(EOL)。官方将原来的软件源(包括 mirrorlist.centos.org
)迁移到了存档服务器(如 vault.centos.org
),导致默认的配置无法再正常工作。
详细步骤
步骤一:备份原有的软件源配置(好习惯)
首先,我们备份一下原来的配置,以防万一。
bash
sudo mv /etc/yum.repos.d /etc/yum.repos.d.backup sudo mkdir /etc/yum.repos.d
步骤二:下载新的软件源配置文件
这里以阿里云镜像源为例(国内访问速度快且稳定)。
方法一:使用 curl
命令直接下载(推荐)
如果您的系统还有 curl
命令,直接执行:
bash
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
方法二:手动创建配置文件
如果 curl
也报错,没关系,我们可以手动创建!
使用
vi
编辑器创建并编辑文件:bash
sudo vi /etc/yum.repos.d/CentOS-Base.repo
按下
i
键进入编辑模式,然后将以下 【阿里云】源配置 完整地复制粘贴进去:[base] name=CentOS-$releasever - Base - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[updates] name=CentOS-$releasever - Updates - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[extras] name=CentOS-$releasever - Extras - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[centosplus] name=CentOS-$releasever - Plus - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
粘贴后,按下
Esc
键,然后输入:wq
并回车,保存文件并退出vi
编辑器。
步骤三:清理缓存并重建
让 yum
读取我们新配置的软件源。
bash
sudo yum clean all # 清理旧的缓存 sudo yum makecache # 建立新的缓存
步骤四:大功告成,测试一下!
现在,再次执行你之前失败的命令,测试是否成功:
bash
sudo yum install -y wget
如果看到 Complete!
提示,恭喜你,问题已经完美解决!🎉
其他替代镜像源
如果你不想用阿里云,也可以替换为其他源,只需在 步骤二 中使用对应的配置即可。
清华大学镜像源:
下载命令:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/centos-vault-7.repo
华为云镜像源:
下载命令:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-reg.repo
重要提醒
虽然此方法可以暂时解决软件安装的问题,但请注意:CentOS 7 已经停止维护,不再提供任何安全更新。这意味着继续使用该系统可能会存在安全风险。
强烈建议:对于生产环境或新项目,请尽快规划迁移到仍在维护的系统,如:
Rocky Linux
AlmaLinux
CentOS Stream
或其他稳定的 Linux 发行版。
总结
遇到 Could not resolve host: mirrorlist.centos.org
错误,只需三步:
备份原配置。
换源到阿里云、清华等国内镜像站。
清缓存并测试。
希望这篇教程能帮到你!如果还有问题,欢迎在评论区留言。