CentOS 7 出现 “Could not resolve host“ 错误的修复方案

在 CentOS 7 上执行yum命令时出现 Could not resolve host: mirrorlist.centos.org 错误,说明系统无法解析 CentOS 的官方镜像列表域名。这通常是由于 DNS 配置错误、网络问题,或者 CentOS 7 官方仓库已停止维护(EOL) 导致的。

报错截图:


1. 问题原因

  • CentOS 7 已 EOL(生命周期结束) :2024年6月30日后,官方停止维护,mirrorlist.centos.org 可能无法访问。
  • DNS 解析失败curl#6 - "Could not resolve host" 表明系统无法解析域名。
  • 网络配置问题:可能由于防火墙、代理或网络连接问题导致无法访问外部仓库。

2. 解决方法

方法 1:更换国内镜像源(推荐)

由于 CentOS 7 官方源已不可用,建议切换至 阿里云、腾讯云等国内镜像

(1) 备份原有仓库配置
bash 复制代码
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2) 下载阿里云镜像源
bash 复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
(3) 清理缓存并重新生成
bash 复制代码
yum clean all
yum makecache
(4) 测试安装
bash 复制代码
yum install -y curl wget	# 测试是否正常

方法 1 亲测有效!


方法 2:检查并修复 DNS 配置

如果仍然无法解析域名,可能是 DNS 问题:

(1) 检查当前 DNS 设置
bash 复制代码
cat /etc/resolv.conf

如果内容为空或只有 127.0.0.1,需手动添加公共 DNS(如 8.8.8.8114.114.114.114):

bash 复制代码
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
echo "nameserver 114.114.114.114" >> /etc/resolv.conf
(2) 测试域名解析
bash 复制代码
ping mirrors.aliyun.com	# 检查是否能解析

方法 3:临时禁用问题仓库

如果只是某个仓库无法访问,可以临时禁用它:

bash 复制代码
yum --disablerepo=base,updates makecache	# 跳过 base 和 updates 仓库

方法 4:手动指定仓库 BaseURL

如果镜像源仍然有问题,可以手动修改仓库文件:

bash 复制代码
vi /etc/yum.repos.d/CentOS-Base.repo

mirrorlist= 注释掉,并取消 baseurl= 的注释,改为阿里云镜像地址:

ini 复制代码
[base]
name=CentOS-7 - Base
baseurl=https://mirrors.aliyun.com/centos/7/os/$basearch/
# mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=os

方法 5:检查网络连接

如果仍然失败,可能是网络问题:

bash 复制代码
ping 8.8.8.8		# 检查网络连通性
curl -v google.com	# 测试 HTTP 访问
iptables -L			# 检查防火墙规则

3. 总结

问题原因 解决方案
CentOS 7 官方源已失效 (EOL) 更换阿里云/腾讯云镜像源
DNS 解析失败 修改 /etc/resolv.conf 添加 DNS
网络或代理问题 检查防火墙、代理设置
仓库配置错误 手动修改 CentOS-Base.repo

如果问题仍然存在,建议:

  • 升级到 CentOS Stream 8/9Rocky Linux/AlmaLinux(CentOS 替代版本)。
  • 使用 --nogpgcheck 临时绕过校验:
bash 复制代码
yum install --nogpgcheck -y dnf

4. 最终修复示例

bash 复制代码
# 1. 备份并更换阿里云源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

# 2. 清理缓存并测试
yum clean all
yum makecache
yum install -y curl wget	# 验证是否正常
相关推荐
Yana.nice5 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
2601_960567968 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧9 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈9 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HiDev_10 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling10 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind10 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森10 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客11 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝11 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维