image-20250225100152862.png

遇到yum无法解析镜像地址的问题,通常是由于DNS配置错误或网络连接问题导致的。以下是详细的解决步骤:

步骤 1:检查基础网络连通性

  1. 使用 ping 测试是否能访问外网 IP

    1
    ping 8.8.8.8
    • 如果通,说明网络接口和路由正常,但 DNS 解析有问题。
    • 如果不通,检查网卡配置(如 ip addr)或联系网络管理员。

步骤 2:手动配置 DNS

  1. 编辑 DNS 配置文件

    1
    vi /etc/resolv.conf
  2. 添加以下可靠的 DNS 服务器

    1
    2
    3
    nameserver 8.8.8.8       # Google DNS
    nameserver 1.1.1.1 # Cloudflare DNS
    nameserver 114.114.114.114 # 国内 114 DNS
  3. 保存并退出(按 Esc → 输入 :wq)。

  4. 重启网络服务

    1
    systemctl restart network

步骤 3:验证 DNS 解析(替代方法)

  1. 使用 curl 测试是否能访问 HTTP 站点

    1
    curl -I http://mirrorlist.centos.org
    • 如果返回 HTTP/1.1 200 OK,说明 DNS 解析成功。
    • 如果失败,继续下一步。

步骤 4:手动替换 CentOS 仓库镜像源

由于默认镜像可能不可用,切换到国内镜像源(如阿里云或腾讯云):

  1. 备份原有仓库配置

    1
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  2. 下载腾讯镜像源配置

    1
    sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
    • 如果 curl 不可用,手动下载后上传到服务器,或使用 wget(需先安装 wget)。
  3. 清理并重建 Yum 缓存

    1
    2
    yum clean all
    yum makecache

步骤 5:安装网络诊断工具(可选)

  1. 安装 bind-utils(包含 nslookupdig

    1
    yum install -y bind-utils
  2. 再次验证 DNS 解析

    1
    nslookup mirrorlist.centos.org

步骤 6:安装所需软件包

1
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

常见问题补充

  1. 如果 curl 也不可用

    • 使用 wget(需先安装):

      1
      2
      yum install -y wget
      wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  2. 如果手动配置镜像源后仍失败

    • 检查仓库文件中的 baseurl 是否指向有效镜像:

      1
      vi /etc/yum.repos.d/CentOS-Base.repo
    • 确保所有 mirrorlist 行被注释,启用 baseurl


附:国内常用镜像源

服务商 仓库配置下载命令
阿里云 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
腾讯云 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.cloud.tencent.com/help/centos/repo/CentOS-Base.repo
华为云 curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo

通过以上步骤,应能修复 DNS 解析问题并成功使用 Yum 安装软件。如果仍失败,请检查服务器防火墙或联系网络管理员确认是否屏蔽了仓库域名。

image-20250225101917750.png