国外地址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