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. web

在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解析設置的問題。centos

咱們知道網卡的DNS設置是首先生效的 /etc/sysconfig/network-scripts/ifcfg-eth0  而後纔是全局的DNS配置文件  /etc/resolv.conf 瀏覽器

 

可能你都都習慣這樣設置(在網卡上直接配置外網的DNS解析地址),這樣設置在你的公網服務器(如VPS,雲服務器等環境)是沒有問題的,可當在本地環境(如:虛擬機,本地網絡)時就會形成了咱們yum安裝超時報錯。緩存

 下面的就是常見不靠譜的DNS配置,服務器

 

  當你在你的虛擬機網卡設置成外網的DNS,網絡好時沒事,一不穩定,虛擬機網關在轉發請求時,就容易掉,超時就會致使你安裝軟件失敗。網絡

  而本地虛擬機DNS1設置爲網關地址,請求經過網關出去會本身找本地的DNS服務器去解析,而後返回給本機。curl

 

解決方案:

建議本地虛擬機環境,設置DNS1爲網關地址,DNS2 爲 223.5.5.5 等其餘公網DNS阿里雲

  

劃線的地址要填你本身虛擬機的網關地址。url

虛擬機的網關在網卡信息和相應軟件的網絡管理中能夠找到。spa

個人本地虛擬機經常使用的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源

一、備份

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

二、下載新的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
 

 三、以後運行yum makecache生成緩存

  [root@web02 ~]# yum clean all && yum makecache 
相關文章
相關標籤/搜索