redhat替换yum源时redhat.repo无法删除或禁用的问题提示:This system is not registered with an entitlement server.You can use subscription-manager to register.
今天新装的rhel7.5,在替换自带的repo源时发现无论是将redhat.repo重命名还是删除,在执行yum命令后总是自动又生成redhat.repo得问题,导致替换的CentOS-Base.repo,一直无法使用的。
- 问题1:无法使用yum
[root@application-server yum.repos.d]# yum clean all
Loaded plugins: fastestmirror, product-id, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Cleaning repos: base extras updates
Cleaning up everything
配置的CentOS-Base.repo一直没生效,他让我们注册才可以使用redhat;
没注册所以一直使用的是redhat.repo,
- 问题2:现在不想注册用redhat源,而使用CentOS的源
- 执行yum命令后,查看yum.repos.d/目录下刚刚重命名为redhat.repo.bak的repo又自动生成了一个redhat.repo
[root@application-server yum.repos.d]# ls
CentOS-Base.repo redhat.repo redhat.repo.bak
[root@application-server yum.repos.d]
- 这个redhat.repo一直无法删除,执行yum命令后又会出现
如果你在redhat.repo中写了
#
# Certificate-Based Repositories
# Managed by (rhsm) subscription-manager
# ...
enabled=0
在执行yum命令后,最终会保留你的注释行,而数据行enabled=0会被删掉。
经过查找,发现是redhat自带的插件subscription-manager给弄得的。而这个插件的作用就是Red Hat Subscription Manager订阅管理器,就是它让你一直register
- 找到subscription-manage的配置文件/etc/yum/pluginconf.d/subscription-manager.conf
[root@application-server pluginconf.d]# vim subscription-manager.conf
[main]
enabled=0 #将它禁用掉
~
...
[root@application-server pluginconf.d]#
- 再次重新生成yum缓存终于大功告成,完成替换
[root@application-server yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
...
Metadata Cache Created
// 全部换成阿里云的yum源了
[root@application-server yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
repo id repo name status
base/x86_64 CentOS-7 - Base - mirrors.aliyun.com 9,911
extras/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 402
updates/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 1,336
repolist: 11,649
[root@application-server yum.repos.d]#
subscription-manager订阅管理器
脚本文件: /usr/lib/yum-plugins/subscription-manager.py
配置文件: /etc/yum/pluginconf.d/subscription-manager.conf
调用了脚本 /usr/share/rhsm/repolib.py
去重写或者更新/etc/yum.repos.d/redhat.repo文件。
每次yum调用(不禁掉plugins的情况下),都会更新此文件。
因此,为了不冲突,可以如下操作:
第一:重命名自己的repo文件,比如RHEL.repo
第二:停止掉该插件的使用,在配置文件中把enable=0即可。
为了不影响系统自带功能,建议选取第一种方法,
另外,该现象好像只是rhel6系统存在,4和5没有发现。