CentOS 7 yum官方源失效

[复制链接]
发表于 2026-10-6 10:04:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

2024 年 7 月 CentOS 7 进入 EOL,官方停止维护之后,mirror.centos.org 那个熟悉的地址直接访问不到了,yum 装包和更新会一堆 404。换阿里云源试过之后,有些工具库还是拉不到——原因是那些老版本的仓库文件本身就还指着已经下线的 mirrorlist 地址。这里给一套通用解法:把仓库指向归档站 vault.centos.org,同时把 mirrorlist 关掉、启用 baseurl。

问题出在哪

CentOS 7 停止维护后,官方把新版本仓库挪到了 vault.centos.org,原来的 mirror.centos.org 对新系统不再提供内容。而 /etc/yum.repos.d/ 下各仓库的 .repo 文件里写的是:

mirrorlist=https://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock

这个 mirrorlist 地址已经不返回可用节点列表,yum 顺着它去找镜像就全部落空。换成阿里源之后部分库仍然失败,就是因为阿里镜像只接管了部分仓库,而 baseurl 那一行还是空的、mirrorlist 还开着,yum 不会真正走到配置好的baseurl 上。

处理思路

一句话概括:**把地址指向归档站,同时关掉 mirrorlist、打开 baseurl**。两者必须一起改,只改地址而 mirrorlist 还在,yum 依旧跟着空列表走。

要改的点改前改后
mirrorlist.centos.org指向已下线的列表服务删掉或注释掉
mirrorlist 行启用(未注释)注释掉
vault.centos.org不存在的地址作为 baseurl 指向
baseurl 行被 mirrorlist 顶掉或空着启用(去掉注释)

第一步:进仓库目录看清楚

/etc/yum.repos.d/ 是 yum 源仓库配置的存放位置,进去先看一眼有哪些文件:

cd /etc/yum.repos.d/
ls -lh

常见会看到 CentOS-Base.repo、epel.repo、以及各第三方源。第三方源(epel、docker 等)同样有地址失效的问题,一并处理才不会装一半报错。

第二步:全局替换失效地址

在这个目录里做一次全局替换,把 mirror.centos.org 和 mirrorlist.centos.org 都换成归档站 vault.centos.org。用 vscode 全局搜索替换最省事,命令行可以这样:

sudo sed -i 's#mirror.centos.org#vault.centos.org#g' /etc/yum.repos.d/*.repo
sudo sed -i 's#mirrorlist.centos.org#vault.centos.org#g' /etc/yum.repos.d/*.repo

顺手备份一份原始的,出问题好回滚:

sudo cp CentOS-Base.repo CentOS-Base.repo.bak

第三步:注释 mirrorlist,启用 baseurl

接着把全部 .repo 文件里的 mirrorlist 行注释掉,同时把 baseurl 行前面去掉注释。下面是其中一个例子的形状:

[baseos]
name=CentOS-7 - Base
baseurl=https://vault.centos.org/7.9.2009/os/x86_64/
#mirrorlist=https://vault.centos.org/?release=7&arch=x86_64&repo=os&infra=stock
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centos7

关键点:baseurl 必须指向具体的路径(比如 /7.9.2009/os/x86_64/),而 mirrorlist 那行前面加 #。用编辑器批量改比手敲可靠,改完 cat 出来核对一遍。

第四步:清缓存重建索引

改完必须刷新 yum 缓存,否则它还在用旧的索引:

sudo yum clean all
sudo yum makecache

如果这两步之后 yum repolist 能看到仓库、yum install 包名 能正常解析,就说明源已经通了:

yum repolist
yum update -y

如果还不行

  • epel 源单独报错。EPEL 也要按同样思路换到归档地址,或者直接用对应系统的新版本源(Alma / Rocky 的 EPEL)。
  • gpg 校验失败。镜像站的 GPG key 路径可能和原来不同,要么对齐 key 位置,要么临时把 gpgcheck=0(不推荐长期使用,安全性差)。
  • 架构或版本目录写死。确认 baseurl 里的大版本号和实际系统版本对得上(CentOS 7 一般是 7.9.2009)。
  • 干脆换系统。CentOS 7 已经不收安全更新,长期看迁移到 Rocky / Alma / 新版 Ubuntu 才是根治办法,改源只是续命。

整体记住三件事:地址换 vault、mirrorlist 注释掉、baseurl 启用,然后 clean all + makecache。能装包只是第一步,CentOS 7 已 EOL 意味着不再有安全补丁,生产环境建议尽快规划迁移。

qidao123.com企服评测-应用市场 编辑提示

本文由齐道123 IT 运维社区整理,记录 CentOS 7 官方源下线后通过 vault 归档站恢复 yum 可用性的通用做法。操作前请先备份 /etc/yum.repos.d/ 下的原始配置;文中 gpgcheck=0 仅为临时排障建议,长期应保持 GPG 校验开启。CentOS 7 已停止维护,仅在自有或已授权主机上执行,并建议同步规划向受支持发行版的迁移。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表