使用yum时报错:this system is not registered to red hat subscription management;
原因:红帽的官源需要注册付费,此报错提示未注册
解决方案:1、购买正版;2、更换成CentOS的yum包;3、非必要可以使用CentOS。
很显然,我拿来玩的,肯定选第二种,步骤如下
一、卸载自带yum
查询自带相关yum
[root@localhost ~]# rpm -qa | grep yum
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-118.el7.noarch
yum-rhn-plugin-2.0.1-4.el7.noarch
卸载yum
rpm -e --nodeps yum
二、下载CentOS的yum及所需的包
我们下载新版本的yum(留一笔备注:重要的是前两个,根据前面的查询能看出来;第三个是加速插件,同时安装yum-3.4.3也提示需要此包;第四个第五个均是安装yum-3.4.3需要的新版本的依赖;后面遇到此类问题时请根据实际的依赖来下载对应版本的包)
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/rpm-4.11.3-45.el7.x86_64.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
此时如果不知道需要哪些包,可以尝试安装yum根据提示进行处理,这里提示需要三个(即上面额外下载的第3、4、5个),其中两个需要更新版本
[root@localhost ~]# rpm -ivh yum-3.4.3-168.el7.centos.noarch.rpm
warning: yum-3.4.3-168.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
python-urlgrabber >= 3.10-8 is needed by yum-3.4.3-168.el7.centos.noarch
rpm >= 0:4.11.3-22 is needed by yum-3.4.3-168.el7.centos.noarch
yum-plugin-fastestmirror is needed by yum-3.4.3-168.el7.centos.noarch
三、安装yum
安装时有依赖关系,所以我们需要注意安装顺序;尽量不使用nodeps,防止缺少依赖无法运行;
1、更新rpm
rpm -Uvh rpm-4.11.3-45.el7.x86_64.rpm --nodeps
2、更新python-urlgrabber;(这里试过直接更新,但是安装yum仍提示需要新版本,重点不在这,所以我选择卸载重装)
rpm -q python-urlgrabber
rpm -e python-urlgrabber-3.10-4.el7.noarch
rpm -ivh python-urlgrabber-3.10-10.el7.noarch.rpm
3、安装yum-metadata-parser
rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
4、5、安装yum和yum-plugin-fastestmirror(两个相互依赖,所以同时安装)
rpm -ivh yum-3.4.3-168.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
查询yum相关包
[root@localhost ~]# rpm -qa | grep yum
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-168.el7.centos.noarch
yum-rhn-plugin-2.0.1-4.el7.noarch
可以看到yum已是我们需要的;第四个包是红帽yum的依赖,可以删除
四、更新yum源
这里使用的是阿里云的(我不要用网易的😭),当然也可以选择自己经常使用的镜像站
这里可以网上搜索相关更换源的教程,为保险起见可以做好备份等等;我这里不再赘述,直接下载替换
1、下载替换repo文件
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
2、Redhat系统使用CentOS源的时候要将$releasever变量改为7;原因也不在赘述,可以自己根据报错信息调试一下
sed -i 's/$releasever/7/g' /etc/yum.repos.d/*.repo
五、关闭提示
yum已经可以正常使用,但仍然会有未注册提示,看不习惯的话可以关掉
修改配置文件
vi /etc/yum/pluginconf.d/subscription-manager.conf
[main]
enabled=0 ====> 将1改为0
六、重建缓存
清理缓存
yum clean all
重新生成缓存
yum makecache