这个错误提示表明你的 CentOS 7.9 系统在尝试从镜像服务器获取更新列表时遇到了网络问题,特别是无法连接到指定的 IPv6 地址。以下是一些步骤来解决这个问题:
- 禁用 IPv6
如果你的网络环境不支持 IPv6,可以禁用它。编辑 /etc/sysctl.conf 文件,添加或修改以下行:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
然后应用更改:
sudo sysctl -p
- 更新 YUM 配置文件
你可以编辑 YUM 配置文件,使其优先使用 IPv4。编辑 /etc/yum.conf 文件,添加以下行:
ip_resolve=4
- 检查网络连接
确保你的系统能够访问互联网。你可以使用 ping 命令测试网络连接:
ping -c 4 mirror.centos.org
如果 ping 命令失败,检查你的网络设置,确保网络连接正常。
- 检查 DNS 配置
确保你的 DNS 配置正确。编辑 /etc/resolv.conf 文件,添加一个可靠的 DNS 服务器,例如 Google 的公共 DNS:
nameserver 8.8.8.8
nameserver 8.8.4.4
- 临时禁用问题仓库
如果你确定某个仓库有问题,可以临时禁用它,然后再尝试运行 yum makecache:
sudo yum --disablerepo=base makecache
- 永久禁用问题仓库
如果你确定某个仓库长期存在问题,可以永久禁用它。编辑 /etc/yum.repos.d/CentOS-Base.repo 文件,将问题仓库的 enabled 选项设置为 0:
[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0
- 配置仓库为可跳过
如果你希望在仓库不可用时跳过它,可以使用 yum-config-manager 命令:
sudo yum-config-manager --save --setopt=base.skip_if_unavailable=true
- 更换镜像源
如果你的当前镜像源不稳定,可以更换为其他稳定的镜像源。编辑 /etc/yum.repos.d/CentOS-Base.repo 文件,将 baseurl 替换为其他镜像源的 URL。例如,使用阿里云的镜像源:
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
- 重新生成缓存
完成上述步骤后,再次尝试生成 YUM 缓存:
sudo yum clean all
sudo yum makecache
如果还是报错需要删除下缓存文件再次执行:
sudo rm -rf /var/cache/yum/*
sudo yum clean all
- 检查系统时间
确保系统时间正确,错误的系统时间可能导致 SSL 证书验证失败。同步系统时间:
sudo ntpdate pool.ntp.org
总结
通过以上步骤,你应该能够解决 CentOS 7.9 修改 YUM 源后不起作用的问题。如果问题仍然存在,请提供更多详细的错误信息,以便进一步诊断。