从您提供的错误信息来看,CentOS 7 服务器无法解析 mirrorlist.centos.org 域名,并且因此无法从官方仓库获取软件包列表。这可能是由于 DNS 解析问题或者 CentOS 官方镜像源已经不再支持 CentOS 7(因为 CentOS 7 已经在 2020 年停止了官方支持,并在 2024 年停止了镜像服务)。

要解决这个问题,您可以尝试以下几种方法:

1. 使用第三方镜像源

您可以配置使用第三方镜像源,如阿里云、华为云等,这些源通常会继续提供支持一段时间。以下是如何配置阿里云镜像源的示例:

  1. 首先,备份原有的仓库配置文件:

    cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
  2. 下载阿里云的 CentOS 7 仓库配置文件:

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
  3. 清理缓存并重新生成:

    yum clean all
    yum makecache
    

2. 检查 DNS 设置

如果问题是由于 DNS 解析造成的,您可以检查 /etc/resolv.conf 文件,确保其中有可用的 DNS 服务器。您可以尝试使用 pingdig 命令来测试 DNS 解析是否正常:

ping mirrorlist.centos.org
# 或者
dig mirrorlist.centos.org

如果这些命令失败,您可能需要更改 DNS 服务器,例如使用 Google 的公共 DNS(8.8.8.8 和 8.8.4.4)。

3. 升级到更高版本的 CentOS 或迁移到其他 Linux 发行版

由于 CentOS 7 已经停止支持,长远来看,最好的解决方案可能是升级到更高版本的 CentOS Stream 或迁移到其他支持更长的 Linux 发行版,如 RHEL、Ubuntu 或 Debian。

4. 临时禁用仓库

如果您只是想快速绕过这个问题,临时安装某些软件包,可以尝试禁用出问题的仓库:

yum install nfs-utils rpcbind --disablerepo=base

但这不是长期解决方案,因为许多基本软件包都依赖于这些基础仓库。

希望这些方法能帮助您解决问题!