如何解决 CentOS 7 yum 更新失败:使用第三方镜像源

问题背景

最近在运行 sudo yum update 时,可能会遇到如下错误信息:

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 日正式停止官方支持,导致官方镜像源(如 mirrorlist.centos.org)不可用。为了解决这个问题,可以使用国内的第三方镜像源,如阿里云或清华大学镜像源。

解决步骤

以下是使用第三方镜像源恢复 yum 正常工作的详细步骤。

1. 备份原有配置文件

在修改任何配置文件之前,先进行备份,以便在出错时快速回滚:

sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

2. 下载第三方镜像源配置文件

推荐使用以下国内镜像源:

阿里云镜像源

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清华大学镜像源

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/CentOS-7.repo

执行上述任一命令后,将会下载并覆盖原有的 CentOS-Base.repo 文件,使 yum 指向新的镜像源。

3. 清理缓存并更新

替换 yum 源配置文件后,需要清理旧缓存并重新生成缓存:

sudo yum clean all
sudo yum makecache

然后尝试更新系统:

sudo yum update

如果一切顺利,yum 将正常下载软件包,问题解决!

小贴士

  • 第三方镜像源的内容基于 CentOS 7 的最后一个版本(7.9.2009),无法提供新功能或安全更新,因此仅适合作为临时方案。
  • 长期来看,建议迁移到仍在维护的系统,如 Rocky LinuxAlmaLinux