在本地的虛擬機使用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源
一、備份
二、下載新的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生成緩存