國外地址yum源下載慢,下到一半就斷了,就這個原因就修改它爲國內yum源地址
最近在下載安裝nodejs npm 的時候發現下載不下來看了下yum,國內阿里巴巴與 網易的訪問比較快
下面是以我機器centos7爲例 ,以 修改爲阿里的yum源
1. 先本地yum源的備份一下
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
2.獲取阿里yum源配置文件以及163網易的yum源,根據自己喜好來設置
阿里:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
163:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
下圖爲備份yum源以及更新阿里的yum源
3.更新cache
yum makecache
4.查看
yum -y update
5,以上執行完發現還不能下載nodejs 以及npm最後谷歌查詢了一下才知道這個不在官方源中
Loaded plugins: fastestmirror, refresh-packagekit
You need to be root to perform this command.
6,這個簡單,加上sudo
執行:
sudo yum install nodejs
結果還是有錯誤,仔細一看,發現裏面有一條關鍵提示:
http://mirrors.163.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
%24releasever
是個什麼鬼?Google 了一下發現是系統版本號變量$releasever
。$releasever
本應該被替換爲 CentOS 的版本號 6.1 的,不知道爲什麼沒有獲取到。$releasever
變量是從/etc/yum.conf
的distroverpkg
獲取到, 我的distroverpkg=centos-release
。改成distroverpkg=redhat-release
後,$releasever
變爲6Server
,再執行yum install
仍然不行。即是repomd.xml
文件獲取不到。通過谷歌網站上查詢,發現這個文件存在於
http://mirrors.163.com/centos/6/os/x86_64/repodata/repomd.xml
因此,我就直接更改/etc/yum.repos.d/CentOS6-Base-163.repo
文件,將裏面的$releasever
替換爲 6,然後執行:
sudo yum clean all
sudo yum makecache
一切順利,yum 源修復成功。雖然直接修改$releasever 簡單粗暴。
添加 EPEL 源
再次嘗試sudo yum install nodejs
,提示:
No package node available.
原來 CentOS 的官方源並沒有 Nodejs 的安裝包,安裝需要添加 EPEL 源,執行以下命令安裝:
sudo rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
最後執行以下命令,終於成功安裝 Nodejs.
sudo yum -y install nodejs npm --enablerepo=epel
Nodejs 不存在官方的源中,所以安裝需要添加 EPEL 源後再安裝,完整的命令如下:
sudo rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
sudo yum -y install nodejs npm --enablerepo=epel