起因
在RedHat下使用yum安装软件时出现This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
就是要注册交费才能使用yum,只好自己重新配置yum源,在此记录下这次配置过程。
第一步:删除系统自带yum包
执行rpm -qa|grep yum --已经安装的yum包
执行rpm -qa|grep yum|xargs rpm -e --nodeps 不检查依赖直接删除所有yum包。
再次执行rpm -qa|grep yum查看已经安装的yum包,没有内容表明删除成功。
第二步:下载新的yum包进行安装
镜像地址:http://mirrors.163.com/centos/
根据自己系统版本找到对应目录,下载如下几个软件包
我是RedHat7.2,所以在7目录下/os/x86_64/Packages/找到这几个软件包,进行安装。其他版本系统注意软件版本号差别。(ps:镜像资源一直在更新,相应版本软件包如果找不到,可以根据软件包名称在相应目录中找最新版本的即可)
如果linux没有网络条件,可以先在其它地方下载好再通过winscp等软件传到linux中,如果可以上网建议直接使用wget命令下载,比较方便。
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/相应软件包名
安装命令:rpm -ivh packagename
packagename使用相应软件包名替换
安装注意事项:
yum-plugin-fastestmirror和yum-3.4.3要一起安装,先安装其它的再安装这两个。
rpm -ivh yum-3.4.3-158.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
执行安装命令注意看终端输出内容,如果安装过程中出现conflicts with 说明你之前安装过,产生冲突。解决方法:rpm -ivh --force rpm包名。
如果没安装rpm-4.11.3-40.el7.x86_64.rpm,可能会出现类似下面的提示:
错误:依赖检测失败:
rpm >= 0:4.11.3-22 被 yum-3.4.3-154.el7.centos.noarch 需要
安装最新的rpm即可
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-4.11.3-32.el7.x86_64.rpm
rpm -Uvh rpm-4.11.3-32.el7.x86_64.rpm --nodeps
第三步:替换系统自带的repo文件
repo文件根据系统版本在http://mirrors.163.com/.help/centos.html 找到对应的文件下载地址替换下面命令中的地址即可。最后一个命令中的7是系统对应的版本号
cd /etc/yum.repos.d
mv redhat.repo redhat.repo.bak
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
vim CentOS6-Base-163.repo
使用全文替换:
:1,$s/$releasever/7
第四步:清理缓存,重新建立缓存
清除缓存yum clean all
重建缓存yum makecache
重建缓存需要联网,没网会可能出现类似的提示"…http://mirrors.163.com/centos/6/os/x86_64/repodata/repomd.xml:…
"
第五步:验证结果
yum repolist
结果有内容一般就没问题了,或者可以再试下用yum安装其它软件。
我自己是安装gcc遇到这次的问题的。
yum install gcc gcc-c++ -y