明白 👍 阿杰。CentOS 8 已在 2021 年底停止维护(EOL),所以你现在遇到 YUM 源失效 的问题是正常的。解决方法主要有以下几种:
一、问题原因
- CentOS 官方已不再维护 CentOS 8 的 YUM 源,原有的
mirror.centos.org
、vault.centos.org
链接失效。 - 现在需要切换到 CentOS Vault(存档源) 或国内镜像(阿里云、清华、中科大等)。
二、解决方法
1. 切换到 CentOS Vault 存档源
编辑 YUM repo 文件:
cd /etc/yum.repos.d/
替换源(以 CentOS-Base.repo 为例):
sed -e 's|mirror.centos.org|vault.centos.org|g' \
-e 's|mirrorlist=|#mirrorlist=|g' \
-e 's|#baseurl=http|baseurl=http|g' \
-i CentOS-Base.repo
这样就会使用 CentOS Vault 存档源,例如:
baseurl=http://vault.centos.org/8.5.2111/BaseOS/$basearch/os/
baseurl=http://vault.centos.org/8.5.2111/AppStream/$basearch/os/
更新缓存:
yum clean all
yum makecache
2. 使用国内镜像(推荐)
例如 阿里云 CentOS Vault 源:
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
wget http://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo -O CentOS-Base.repo
然后执行:
yum clean all
yum makecache
3. 使用 Stream 代替(官方推荐)
CentOS 8 已停止更新,官方建议升级到 CentOS Stream 8:
dnf install centos-release-stream
dnf swap centos-linux-repos centos-stream-repos
dnf distro-sync
三、推荐方案
- 短期修复:切换到 vault 源 或国内镜像 → 能继续使用
yum
安装包。 - 长期方案:迁移到 CentOS Stream 8 或 Rocky Linux / AlmaLinux 等替代发行版。
好的阿杰 👍 我给你写一个 一键切换阿里云 CentOS8 vault 源的脚本,直接运行就能解决 YUM 失效问题。
一键修复脚本(bash)
#!/bin/bash
# 修复 CentOS8 YUM 源失效,切换到阿里云 Vault 源
echo ">>> 备份原有 YUM 配置..."
mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ 2>/dev/null
echo ">>> 下载阿里云 CentOS8 Vault 源配置..."
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
echo ">>> 清理缓存并生成新缓存..."
yum clean all
yum makecache
echo ">>> 已完成!请尝试运行 'yum update' 测试。"
使用方法
- 新建脚本文件:
nano fix-centos8-yum.sh
- 把上面的脚本内容粘贴进去,保存退出。
- 给脚本执行权限:
chmod +x fix-centos8-yum.sh
- 运行:
./fix-centos8-yum.sh
- 完成后,你就可以正常使用:
yum update yum install vim wget net-tools -y
发表回复