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全权限账户,接着输入下面指令:
|
2、下载安装新的yum包
删除了系统自带的yum文件之后,我们下载需要安装的yum文件,下载下面的yum文件包:
|
安装rpm的yum包:
|
这里会遇到包之间依赖导致的错误:
解决方法是安装时使用强制命令:
|
3、备份老的repo,下载安装新的repo
下面我们先备份原先的repo文件,再下载新的repo文件,这里以CentOS7为例:
|
下载下来的repo文件里面出现的$releasever需要修改为CentOS的实际版本号,我们这里直接替换成7,键入下面指令进入CentOS-Base.repo文件,进行编辑。
|
4、刷新yum,检查yum是否可用
全部编辑好后,我们刷新一下yum:
|
顺利的话便完成了,不顺利的话相信各有各的不顺利。
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对应版本的地址即可。