RHEL在未注册时是无法使用yum的。如果使用yum命令,会报 “This system is not registered with an entitlement server. You can use subscription-manager to register.” 错误。在这种情况下,使用者就需要购买RetHat的服务。对于个人开发者,也可以通过更换yum源的方法来继续使用,本篇文章将介绍如何更新RHEL的yum源为阿里的CentOS7镜像。
RHEL在未注册时使用yum命令,会报 “This system is not registered with an entitlement server. You can use subscription-manager to register.” 错误。
因此,我们需要去更换为免费的yum源,这里选择阿里云的CentOS7。
1、删除系统自带的yum文件
我们现输入su来切换账户为root全权限账户,接着输入下面指令:
rpm -qa | grep yum #查询yum文件
rpm -qa | grep yum | xargs rpm -e --nodeps #删除yum文件,需root账号
2、下载安装新的yum包
删除了系统自带的yum文件之后,我们下载需要安装的yum文件,下载下面的yum文件包:
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-updateonboot-1.1.31-54.el7_8.noarch.rpm
安装rpm的yum包:
rpm -ivh yum-* #安装当前目录下所有yum-开头的rpm包
rpm -ivh python-* #安装当前目录下所有python-开头的rpm包
这里会遇到包之间依赖导致的错误:
解决方法是安装时使用强制命令:
rpm -ivh yum-* --force --nodeps #强制安装当前目录下所有yum-开头的rpm包
rpm -ivh python-* --force --nodeps #强制安装当前目录下所有python-开头的rpm包
3、备份老的repo,下载安装新的repo
下面我们先备份原先的repo文件,再下载新的repo文件,这里以CentOS7为例:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
下载下来的repo文件里面出现的$releasever需要修改为CentOS的实际版本号,我们这里直接替换成7,键入下面指令进入CentOS-Base.repo文件,进行编辑。
vim /etc/yum.repos.d/CentOS-Base.repo
4、刷新yum,检查yum是否可用
全部编辑好后,我们刷新一下yum:
yum clean all
yum makecache
yum update
顺利的话便完成了,不顺利的话相信各有各的不顺利。
5、常见错误
下面举例两种不顺利的情况:
① yum不存在
这种情况需要下载2.x版本的python,python3.x不支持yum的编译
② no module named yum错误
这个错误翻译成中文意思是yum缺少模块支持,一般是本机python版本和yum的包不匹配造成的,这种问题就非常复杂和麻烦,需要卸载yum的全部包重新安装,也不一定可以解决。
如果运气好的话,可能只是python路径没对应上,那vim /usr/bin/yum里修改#!/usr/bin/python为python对应版本的地址即可。
Damon, Chinese, Liu Guangzhi, Software development engineer, CSDN quality creator, Ali Cloud expert blogger, Microsoft Technology Associate, Good at C#, Java, PHP, Python, etc, Love sports, Workaholic, Communist.