Redhat 是一个需要注册(购买)的系统,但是我又想用免费试用,那么怎么办呢?想一想,它买了CentOS,而CentOS又是全免费的,那么这就又意思了,他们俩的东西是互通的,那么久很好办了,把Redhat的yum包删掉,换成CentOS的,yum源换成阿里源(国内各大可以用的源都行)不就妥妥的了吗?废话不多说,开干!
首先,你需要先删掉你的redhat的rpm,从阿里镜像网站里面拿出来CentOS对应的yum包,
[root@VM171-test-ng_proxy ~]# rpm -qa | grep yum | xargs rpm -e --nodeps
要是这个命令删不了,你就一个一个的删吧。
https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
这是阿里镜像的站点,需要下载这三个包
yum-3.4.3-163.el7.centos.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm
可以用wget下载,也可以用curl
[root@VM171-test-ng_proxy ~]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
[root@VM171-test-ng_proxy ~]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
[root@VM171-test-ng_proxy ~]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm
下载完成后,用rpm安装这三个包
[root@VM171-test-ng_proxy ~]# rpm -ivh yum-*
【修改yum源】
先备份原先的源
[root@VM171-test-ng_proxy ~]# sudo cp /etc/yum.repos.d/ /etc/yum.repos.d.bak
创建一个新的yum源文件夹
[root@VM171-test-ng_proxy ~]# sudo mkdir /etc/yum.repo.d
放阿里的源进来
[root@VM171-test-ng_proxy ~]# curl -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
此时看似可以开开心心的yum clean all了,但其实不然,还有一步,需要将CentOS基础源即 CentOS-Base.repo这个文件里面的$releasever这个变量改掉,因为这是CentOS的源,$releasever这个变量(看图一)并没有被redhat识别出来,所以需要我们自己把这个变量改为常量,查看我找的源是CentOS 7的,所以将这个变量改为7,在vim格式编辑下,输入:%#¥releaserver#7#g 完成后可以看到所有的¥releaserver变量全部变为7(看图二)了,这个时候就已经解决了yum源的问题了。
最后一步
[root@VM171-test-ng_proxy ~]# sudo yum clean all && sudo yum makecache
成功解决问题