CentOS 7/8 已停止维护:yum 源失效一站式修复手册

🌙
⬆️

CentOS 7/8 已停止维护:yum 源失效一站式修复手册

适用于所有 CentOS 7.x 以及 CentOS 8.x / Stream 8 环境
修复完成后可继续安装软件,但请注意:官方不再提供安全更新,生产环境强烈建议迁移至 Rocky Linux / AlmaLinux / RHEL

1. 现象速查

执行 yum installyum update 时出现以下报错:

Could not retrieve mirrorlist http://mirrorlist.centos.org/...  
Could not resolve host: mirrorlist.centos.org

根本原因是 CentOS 官方已于

  • CentOS 8:2021-12-31 EOL
  • CentOS 7:2024-06-30 EOL
    官方已将 mirrorlist.centos.org 下线。

2. 修复思路(二选一)

方案说明适用场景
A. 切换 Vault 归档源使用第三方镜像站保留的历史 RPM 包短期过渡、只想维持现有环境
B. 原地迁移至 Rocky/Alma二进制兼容、获得持续更新长期生产、合规需求
本文先给出 方案 A 的完整命令;方案 B 迁移脚本见文末附录。

3. 方案 A:一键替换 Vault 源(CentOS 7 示例)

3.1 备份原 repo

sudo mkdir -p /etc/yum.repos.d/bak
sudo mv /etc/yum.repos.d/CentOS-*.repo /etc/yum.repos.d/bak/

3.2 使用阿里云 Vault 源(推荐,国内最快)

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo \
  https://mirrors.aliyun.com/repo/Centos-vault-7.repo

3.3 可选:同步替换 EPEL 源

sudo curl -o /etc/yum.repos.d/epel.repo \
  https://mirrors.aliyun.com/repo/epel-archive-7.repo

3.4 重建缓存并验证

sudo yum clean all
sudo yum makecache
sudo yum repolist          # 应能列出 base/updates/extras 等
sudo yum install -y wget   # 测试安装

至此,CentOS 7 即可继续装包。


4. CentOS 8 / Stream 8 专用命令

# 备份
sudo mkdir -p /etc/yum.repos.d/bak
sudo mv /etc/yum.repos.d/CentOS-*.repo /etc/yum.repos.d/bak/

# 使用清华 Vault 源
sudo tee /etc/yum.repos.d/CentOS-Stream-vault.repo <<'EOF'
[baseos]
name=CentOS Stream 8 - BaseOS
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8-stream/BaseOS/$basearch/os/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
enabled=1

[appstream]
name=CentOS Stream 8 - AppStream
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8-stream/AppStream/$basearch/os/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
enabled=1
EOF

sudo yum clean all && sudo yum makecache
同样适用于 CentOS Linux 8 的 8.5.2111 归档。

5. 一键脚本(懒人版)

复制整段即可:

#!/bin/bash
# CentOS-7/8 Vault 源一键修复
set -e

if [[ -f /etc/centos-release ]]; then
    V=$(grep -oE '[0-9]+\.[0-9]+' /etc/centos-release | head -1)
    if [[ $V =~ ^7 ]]; then
        curl -o /etc/yum.repos.d/CentOS-Base.repo \
          https://mirrors.aliyun.com/repo/Centos-vault-7.repo
        curl -o /etc/yum.repos.d/epel.repo \
          https://mirrors.aliyun.com/repo/epel-archive-7.repo
    elif [[ $V =~ ^8 ]]; then
        curl -o /etc/yum.repos.d/CentOS-Stream-vault.repo \
          https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8-stream/CentOS-Stream-BaseOS.repo
    fi
    yum clean all && yum makecache
    echo "Vault 源已生效,请执行 yum update 验证"
else
    echo "非 CentOS 系统,脚本退出"
fi

保存为 fix-centos-eol.sh,执行:

chmod +x fix-centos-eol.sh
sudo ./fix-centos-eol.sh

6. 长期方案:原地迁移至 Rocky Linux 8(可选)

步骤命令说明
备份rsync -av / /backup/$(hostname)-$(date +%F)全系统快照
升级工具curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.shRocky 官方脚本
执行迁移sudo bash migrate2rocky.sh -r约 10–15 min
重启sudo reboot检查版本 cat /etc/os-release
迁移后 yum/dnf 源指向 Rocky 官方,可持续获得更新。

7. 常见问题 FAQ

问题解决
yum 提示 GPG key 错误手动导入:rpm --import https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7
第三方仓库(Remi、Docker)同样失效同步替换为对应 Vault 地址或改用 AlmaLinux/Rocky
容器镜像失效使用 rockylinux:8 / almalinux:8 作为基础镜像

8. 参考与致谢

  • 阿里云 CentOS EOL 应对方案
  • 清华开源镜像站 Vault 说明
  • Rocky Linux 官方迁移脚本仓库
PIGYun 建议
若业务需长期稳定,请在完成 Vault 修复后立即规划 Rocky Linux 9 或 AlmaLinux 9 迁移。
PIGYun WordPress 全栈加速指南
Linux 常见发行版 DNS 与网卡配置文件修改教程

✍️ 添加新评论

💨 由 PIGYun全球优质服务器 提供快速评论体验
🚀 评论由PIGYun高性能服务器处理