yum挂了怎么重置源恢复正常?CentOS停维后的正确修法

Linux 老服务器上 yum 突然不能用了:装包报错、更新失败,一串红字——镜像 404、无法解析、元数据校验失败轮着来。更糟的是这台机器上还跑着业务,越急越乱,网上抄来的命令一条条试,红字换个花样继续刷。

「yum 挂了」通常是源挂了

yum 本身坏掉的情况极少,多数时候是它背后的软件源出了问题,常见三层:一是元数据损坏,本地缓存的索引坏了;二是源地址失效,原来配的镜像关了、挪了;三是系统停维——CentOS 7 在 2024 年年中停止维护后,各大镜像站陆续把常规源下架、挪进归档区,无数老机器一夜之间集体「yum 挂了」,此类故障近年一大半是从这来的。源不是服务、没有「重启」一说(这笔概念账另有专文细说),挂了就老老实实按顺序重置。

重置五步走

第一步,先定性。看报错长什么样:一串 hash/校验错误,是元数据损坏;404、域名解析失败,是源地址失效;mirrorlist 报无效或返回空,多半踩中了停维归档。定性决定后面动多大手术,但操作序是通用的。

第二步,备份原有配置。把 /etc/yum.repos.d/ 目录下的 repo 文件留一份底,整体复制改名或挪进备份目录都行。改任何配置前能回退,是运维的老规矩。

第三步,清掉旧缓存。执行 yum clean all,把本地缓存的元数据和包清干净——旧索引不清干净,换了源也会被脏缓存拖累。

第四步,换上可用源。把 repo 文件指向还能用的镜像;CentOS 7 必须换成官方的 vault 归档源,常规源已经不再提供。改的时候版本号要对准自己的系统版本,是 7 就写 7 的路径,别照抄网上别的版本的配置。

第五步,重建并验证。执行 yum makecache 重新拉取元数据,再用 yum repolist 收尾——列出来的仓库状态正常、数量对得上,才算真的救活。稳妥起见再装一个小包试试手,全流程走通,这事才算完。

一条划界

如果清了缓存、换了源还是不通,往网络层查:DNS 解析、防火墙出站策略,那是另一条线。单机网络正常但所有源都 404,基本就是停维归档没换干净,回到第四步。

存量老主机的源治理,是接手运维时的头一课。贵州诚鑫致达科技做存量主机运维接手时,EOL 系统的源状态是巡检单里的固定一栏——先把更新通道救活,补安全补丁才有得谈。

yum 挂了别慌,记住顺序:备份、清缓存、换源、makecache、repolist 验证。五步走完,大多能救回来。