今天使用centos安装ansible,发现域名默认安装是未注册的。提示:
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
redhat 默认自带的 yum 源需要注册,才能更新。我们想不花钱也可以更新,需要替换掉redhat的yum源。
1.检查是否安装yum包
查看RHEL是否安装了yum,若是安装了,那么又有哪些yum包:
rpm -qa |grep yum
2 删除redhat自带的yum包
rpm -qa|grep yum|xargs rpm -e --nodeps
3.下载新的yum包。使用Centos6.5的yum包
rpm包下载地址:http://mirrors.163.com/centos/6/os/x86_64/Packages/
# wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm # wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.2.29-40.el6.centos.noarch.rpm # wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
包的名字可能跟上面不同,主要是版本和操作系统位数的不同,建议不要在页面搜索全部。
若安装失败可重新输入此命令并加参数 --nodeps --force
安装yum软件包
注意:单个的安装包可能会依赖其它包(例如yum和yum-fastestmirror会相互依赖),所以我们可以把所有这些包放在一起,用一行命令将它们同时安装即可:
# rpm -ivh yum-metadata-parser-1.1.2-16.el6.i686.rpm yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
4.更换yum源。使用163的源
# cd /etc/yum.repos.d/ # wget http://mirrors.163.com/.help/CentOS6-Base-163.repo # vi CentOS6-Base-163.repo
编辑文件,把文件里面的$releasever全部替换为版本号,即6.5 最后保存!
5.清除原有缓存
# yum clean all
重建缓存,以提高搜索安装软件的速度
# yum makecache
6.更新系统
# yum update
解决yum源问题,报错:
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" Trying other mirror.
这个原因是因为yum已经更新了的原因导致的
http://mirrors.163.com/centos/
官网可以看到已经更新到7.x了
点进去7可以看到有repodata/repomd.xml。所以果断把releasever改成7
vi CentOS6-Base-163.repo
:%s/$releasever/7/g
改了后执行yum makecache OK!