成功解决:“Could not resolve host: mirrorlist.centos.org; Unknown error“

ops/2024/9/22 13:46:24/
  1. 检查网络连接

    • 确保你的系统网络连接正常,并且能够访问互联网。你可以使用 ping 命令来测试网络连接:

      ping google.com
      ping mirrorlist.centos.org
  2. 检查DNS配置

    • 确保DNS配置正确,可以尝试将 /etc/resolv.conf 文件中添加或修改DNS服务器,例如Google的公共DNS:
      添加以下内容:

      sudo nano /etc/resolv.conf
      nameserver 8.8.8.8
      nameserver 8.8.4.4
    • 保存并退出,然后再次尝试 sudo yum upgrade。

  3. 暂时禁用IPv6

    • 有时IPv6配置问题也会导致解析失败,可以尝试暂时禁用IPv6:

      sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
      sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
    • 再次尝试 yum upgrade

  4. 临时禁用导致问题的仓库

    • 如果某个特定的仓库有问题,可以尝试在执行命令时禁用该仓库。例如:

      sudo yum --disablerepo=base upgrade
  5. 手动设置baseurl

    • 如果 mirrorlist.centos.org 仍然不可用,可以手动设置仓库的baseurl。编辑 /etc/yum.repos.d/CentOS-Base.repo 文件:
      找到类似以下的部分并修改:
      注意将 mirrorlist 替换为 baseurl 并设置你可以访问的镜像地址。

      sudo nano /etc/yum.repos.d/CentOS-Base.repo

      这是我编辑之后的内容:

      # CentOS-Base.repo
      #
      # The mirror system uses the connecting IP address of the client and the
      # update status of each mirror to pick mirrors that are updated to and
      # geographically close to the client.  You should use this for CentOS updates
      # unless you are manually picking other mirrors.
      #
      # If the mirrorlist= does not work for you, as a fall back you can try the
      # remarked out baseurl= line instead.
      #
      #[base]
      name=CentOS-$releasever - Base
      #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
      baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates
      [updates]
      name=CentOS-$releasever - Updates
      #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
      baseurl=http://vault.centos.org/7.9.2009/updates/x86_64/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
      [extras]
      name=CentOS-$releasever - Extras
      #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
      baseurl=http://vault.centos.org/7.9.2009/extras/x86_64/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
      
  6. 重新安装yum插件

    • 有时,重新安装yum插件可能解决问题:

      sudo yum clean all
      sudo yum makecache

以下是一些其他的解决思路

  1. 检查网络连接
    确保你的机器是联网的。你可以使用以下命令测试网络连接:

    ping -c 4 google.com
    

    如果无法ping通,说明网络连接有问题,需要解决网络连接问题。

  2. 检查DNS配置
    确保DNS服务器配置正确。你可以查看 /etc/resolv.conf 文件,确保里面有有效的DNS服务器配置,例如:

    cat /etc/resolv.conf
    

    输出应该类似如下:

    nameserver 8.8.8.8
    nameserver 8.8.4.4
    

    这两个IP地址是Google的公共DNS服务器,你可以添加或更新你的DNS服务器配置。

  3. 刷新DNS缓存
    有时缓存的DNS记录可能已经无效,可以尝试刷新DNS缓存:

    sudo systemctl restart NetworkManager
    

    或者使用以下命令(如果你使用的是NetworkManager管理网络):

    nmcli general reload
    
  4. 测试DNS解析
    你可以手动测试DNS解析来确认问题,例如:

    nslookup mirrorlist.centos.org
    

    或者:

    dig mirrorlist.centos.org
    

    这会显示DNS解析的详细信息,如果解析失败,说明DNS配置仍有问题。

  5. 更改镜像源
    有时特定的镜像服务器可能宕机或者有问题。你可以尝试更改YUM或DNF的镜像源配置文件,例如:
    编辑 /etc/yum.repos.d/CentOS-Base.repo 文件,修改 mirrorlistbaseurl,指向特定的镜像源。例如:

    [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
    

    另一个可以参考的镜像源网址是:http://mirrors.163.com/。

  6. 联系网络管理员
    如果你在企业或组织内部网络环境中,可能网络策略或防火墙限制了对外部DNS服务器的访问,建议联系网络管理员排查。

按上述步骤逐步排查,一般可以解决DNS解析导致的问题。


http://www.ppmy.cn/ops/97661.html

相关文章

仿Muduo库实现高并发服务器——Connection模块

这个模块看着代码挺多的实则真的很多,但是不难,我为大家将各个函数拿出来理一理。 connection就是将主线程监听的网络套接字上的客户端套接字进行包装,使被包装的套接字可以进行,各种事件的处理,比如读写事件。下面就来…

Tomcat使用及负载均衡(最全源码安装及配置使用教程)

目录 一 Tomcat概述 1.1 Tomcat 简介 1.2 Tomcat 下载 二 Tomcat 单主机配置 2.1 Tomcat 环境配置 2.2 Tomcat 安装与添加系统启动 2.3 Tomcat 启动与停止 三 Tomcat 配置文件及反向代理 3.1 配置文件详解 3.2 反向代理实现Tomcat部署 四 Memcached安装 4.1 简介 …

++是线程安全的吗

1. 问题 在Java中,操作符不是线程安全的。这是因为操作实际上包括三个步骤: 读取变量的值:从内存中读取当前值。增加变量的值:对读取到的值进行加1操作。写回变量的值:将增加后的值写回到内存。 在多线程环境中&…

​​​​​​​STM32通过SPI硬件读写W25Q64

目录 STM32通过SPI硬件读写W25Q64 1. STM32的SPI外设简介 2. STM32的SPI框图 2.1 数据寄存器和移位寄存器(左上角部分) 控制逻辑(其余右下角的部分) 3.STM32的SPI基本框图 4. STM32的SPI主模式全双工连续传输 时序图 5. S…

IPC进程间通信方式及网络通信

一、IPC进程间通信方式 1.共享内存(最高效的进程间通信方式) 其允许两个或多个进程共享一个给定的存储区,这一段存储区可以被两个或以上的进程映射至自己的地址空间中,一个进程写入共享内存的信息,可以被其他使用这个…

ansible初使用与http原理

文章目录 1.编写playbook实现nginx的安装过程,通过变量的方式传入2.http协议版本和工作原理3.IO模型和零复制技术的原理 1.编写playbook实现nginx的安装过程,通过变量的方式传入 环境:三台centos主机10.0.0.3为ansible-server 10.0.0.4与10.…

原生微信小程序笔记完整总结4.0

🤹‍♀️潜意识起点:个人主页 🎙座右铭:得之坦然,失之淡然。 💎擅长领域:大前端 是的,我需要您的: 🧡点赞❤️关注💙收藏💛 是我…

Linux驱动学习之点灯(四,linux2.6)

上篇最后的第二种点灯方法年代比较久远,register_chrdev()这个函数一下申请了255个设备号,不建议使用 如下图 下图的函数在linux2.6里是上图函数的升级版,不过他是静态分配,后续还得添加到cdev里 从上图函…