【一】故障描述

我通过rel7版本的yum包管理工具安装软件报错如下:

Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
repolist: 0

而且自动清理掉我在[root@localhost tmp]# /etc/yum.repos.d路径下的repo源文件内容

【二】思路分析

  • 其报错内容是说未注册是由于这是付费版的redhat版本,将yum替换成开源的Centos7的yum
  • 为什么一直清空我的源/etc/yum.repo.d/'*'.repo的内容

【三】解决步骤

1丶删除服务器原有的yum版本

[root@localhost tmp]# rpm -qa|grep yum|xargs rpm -e --nodeps
[root@localhost tmp]# rpm -qa|grep yum

2丶卸载完毕通过阿里云或者163的源下载Centos7的yum的rpm包

阿里云的源 https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
"
python-iniparse-0.4-9.el7.noarch.rpm
python-urlgrabber-3.10-10.el7.noarch.rpm
yum-3.4.3-167.el7.centos.noarch.rpm
yum-langpacks-0.4.2-7.el7.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-fastestmirror-1.1.31-53.el7.noarch.rpm
yum-utils-1.1.31-53.el7.noarch.rpm"

3丶将下载好的rpm包上传到服务器,然后开始安装

[root@localhost redhat7_Repo_rpm_package]# rpm -ivh python-* yum-*
[root@localhost redhat7_Repo_rpm_package]# rpm -qa|grep yum

4丶挂载光盘源

[root@localhost redhat7_Repo_rpm_package]# ls /media/
[root@localhost redhat7_Repo_rpm_package]# cat /etc/yum.repos.d/redhat.repo
"
[LocalRepo]
name=Local Repo
baseurl=file:///media
enabled=1
gpgcheck=0
gpgkey=file://media/RPM-GPG-KEY-redhat-release
"

5丶测试yum源遇到两个问题

问题1:执行上面的命令还是一直报未注册跟【故障描述的里面一样的报错】 [root@localhost redhat7_Repo_rpm_package]# yum repolist all 列出所有的仓库信息

原因是因为redhat开启了sub管理器,直接关闭即可,操作方式如下:
[root@localhost ~]# sed -i '/enabled/s/1/0/g' /etc/yum/pluginconf.d/subscription-manager.conf

问题2:解决问题1之后再次执行下面命令报REPO源找不到【这里是真的坑】 [root@localhost redhat7_Repo_rpm_package]# yum repolist all

错误写法:
"[Local Repo]      //多了个空格
name=Local Repo
baseurl=file:///media
enabled=1
gpgcheck=0
gpgkey=file://media/RPM-GPG-KEY-redhat-release"

正确写法:

"
[LocalRepo]       //没有空格即可
name=Local Repo
baseurl=file:///media
enabled=1
gpgcheck=0
gpgkey=file://media/RPM-GPG-KEY-redhat-release
"

当你的才华不足以满足你的野心时请静下心来学习吧!