你遇到的错误是由于 CentOS 7 的官方软件源已经停止维护,导致无法解析 mirrorlist.centos.org,从而 yum 无法获取软件包列表。
📌 背景说明:
- CentOS 7 已于 2024 年 6 月 30 日正式 EOL(End Of Life)。
- 官方不再提供更新、安全补丁或镜像支持。
- 所有原
mirrorlist.centos.org和vault.centos.org的部分路径可能已失效或重定向。
✅ 解决方案:切换到 Vault 归档源 或 替代源(如 vault.epel.cloud、AlmaLinux、Rocky Linux 等)
✅ 推荐做法:将 CentOS 7 的 repo 指向 官方归档仓库(Vault)
-
备份原有 repo 文件
sudo mkdir -p /etc/yum.repos.d/backup sudo mv /etc/yum.repo.d/*.repo /etc/yum.repos.d/backup/ -
创建新的
CentOS-Base.repo文件sudo tee /etc/yum.repos.d/CentOS-Base.repo <<EOF
[base]
name=CentOS-$releasever - Base
baseurl=https://vault.epel.cloud/7.9.2009/os/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
[updates]
name=CentOS-$releasever - Updates
baseurl=https://vault.epel.cloud/7.9.2009/updates/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
[extras]
name=CentOS-$releasever - Extras
baseurl=https://vault.epel.cloud/7.9.2009/extras/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://vault.epel.cloud/7.9.2009/centosplus/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0
EOF
> 💡 注:`vault.epel.cloud` 是一个社区维护的 CentOS Vault 镜像,比官方 `vault.centos.org` 更稳定快速。你也可以使用官方地址 `http://vault.centos.org/7.9.2009/...`,但有时响应慢或不可达。3. **清理并生成缓存**
```bash
sudo yum clean all
sudo yum makecache
- 测试是否正常
yum list installed | head -5 yum install -y wget # 示例安装
🔁 替代方案(长期建议):
由于 CentOS 7 已停止支持,强烈建议迁移到仍在维护的发行版,例如:
- AlmaLinux 7/8/9(RHEL 兼容,由社区驱动)
- Rocky Linux(同样 RHEL 兼容)
- 升级到 CentOS Stream 8/9(但注意它不是传统 CentOS)
迁移工具如 leapp 可帮助从 CentOS 7 升级到 AlmaLinux 8。
❌ 不推荐的做法:
- 修改
/etc/hosts强行指向某个 IP(不稳定且可能不安全) - 继续使用已失效的官方 mirrorlist(会持续报错)