yum 报错:centos yum (28, 'Connection time-out') Trying other mirror.


问题:

  在本地的虚拟机使用yum安装软件时,经常出现 centos yum (28, 'Connection time-out') Trying other mirror. 或下面的那样情况imeout on http://mirrors.aliyun.com/centos/6/os/x86_64/repodata/repomd.xml: (28, 'Connection time-out') Trying other mirror. 

在centOs上安装软件时。提示超时,或链接不上的信息:

http://mirrors.aliyun.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyun.com/centos/6/os/x86_64/repodata/repomd.xml: (28, 'Connection time-out')
Trying other mirror.
http://mirrors.aliyuncs.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/6/os/x86_64/repodata/repomd.xml: (28, 'Connection time-out')
Trying other mirror.
http://mirrors.cloud.aliyuncs.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'mirrors.cloud.aliyuncs.com'"
Trying other mirror.
http://mirrors.aliyun.com/epel/6/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyun.com/epel/6/x86_64/repodata/repomd.xml: (28, 'Connection time-out')
Trying other mirror.

  当你用排查ping  网络时发现又是通的,浏览器访问链接也是通的。这就奇怪了,为什么yum一安装就说超时报错。换了阿里,网易好几个源都是一个问题,注意了,这可能不是repo源的问题,而是你DNS解析设置的问题。

我们知道网卡的DNS设置是首先生效的 /etc/sysconfig/network-scripts/ifcfg-eth0  然后才是全局的DNS配置文件  /etc/resolv.conf 

 

可能你都都习惯这样设置(在网卡上直接配置外网的DNS解析地址),这样设置在你的公网服务器(如VPS,云服务器等环境)是没有问题的,可当在本地环境(如:虚拟机,本地网络)时就会造成了我们yum安装超时报错。

 下面的就是常见不靠谱的DNS配置,

 

  当你在你的虚拟机网卡设置成外网的DNS,网络好时没事,一不稳定,虚拟机网关在转发请求时,就容易掉,超时就会导致你安装软件失败。

  而本地虚拟机DNS1设置为网关地址,请求通过网关出去会自己找本地的DNS服务器去解析,然后返回给本机。

 

解决方案:

建议本地虚拟机环境,设置DNS1为网关地址,DNS2 为 223.5.5.5 等其他公网DNS

  

划线的地址要填你自己虚拟机的网关地址。

虚拟机的网关在网卡信息和相应软件的网络管理中可以找到。

我的本地虚拟机常用的DNS设置,可以参考

[root@web-01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="10.0.0.6"
PREFIX="24"
GATEWAY="10.0.0.2"
DNS1=10.0.0.2          # DNS1 设置为网关地址
DNS2=223.5.5.5         #DNS2设置为阿里DNS,或其他的如8.8.8.8

这样网卡的DNS设置就双保险了 


[root@web-01 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.0.0.2
nameserver 8.8.8.8

 

 

换源

搞清楚自己的DNS设置后在设置repo源的问题。

注意上面提到的,自己网卡的DNS设置好后!! 然后再换源,不然换完还是超时报错,会很崩溃

这里是CentOS换国内阿里云yum源

1、备份

  mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
 
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
 
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 

 3、之后运行yum makecache生成缓存

  [root@web02 ~]# yum clean all && yum makecache 
 
 
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM