RedHat Enterprise Linux 6.4使用yum安装出现This system is not registered to Red Hat Subscription Management

我虚拟机安装的系统是RedHat Enterprise Linux 6.4-i686,是32位的。使用yum命令安装软件时候出现以下错误:

This system is not registered to Red Hat Subscription Management.You can use subscription-manager to register.

 

经过一番研究,得出结论如果使用redhat的yum源是需要注册付费的,作为一名学生和初学者,我不想花钱罗,哈哈,当然有钱另说。总体思路非常简单就是卸载原来所有yum的依赖包,然后配置使用centos的yum源。这里需要注意的是每个人的环境和系统都不一样,解决方法和一些细节都不尽相同,我们需要“随机应变”,不要盲目照搬教程。

 

1.卸载RedHat原来的自带的yum包

使用命令 rpm -qa|grep yum 能够查看已经安装的yum包。然后使用命令 rpm -qa|grep yum|xargs rpm -e --nodeps 不检查依赖直接删除所有的rpm包。最后再次用 rpm -qa|grep yum 命令查看,发现没有任何显示,则表示卸载成功。

 

2.下载新的centos的yum包,然后安装

首先你得先弄清楚自己的系统版本号和系统位数,使用命令 cat /etc/issue && arch 查看,如果是i386或者i686就是32位的,如果是x86_64就是64位的。

然后到http://mirrors.kernel.org/centos/ 或者 http://mirrors.163.com/centos/ 找对应系统版本号和系统位数下载,找到yum、yum-plugin-fastestmirror、yum-metadata-parser、python-urlgrabber这四个软件包下载。如果跟我系统一样是RedHat Enterprise Linux 6.4-i686,则可以打开我分享的 https://pan.baidu.com/s/1hr5IBE8下载。

最后使用命令安装

rpm -ivh yum-metadata-parser-1.1.2.16.el6.i686.rpm

rpm -ivh yum-3.2.29-81.el6.centos.noarch.rpm  yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm  python-urlgrabber-3.9.1-11.el6.noarch.rpm (把相互依赖的包一起安装)

在安装过程中因为环境不一样可能出现不同的问题。如果是因为缺少依赖包安装失败会出现 error:Failed  dependencies:缺失包 is needed by 你安装的包,这种情况下,你需要下载缺失的包,然后一起安装即可。如果是因为你安装的包已经存在但是版本不一样会出现conflicts with的提示,你需要根据提示把原来的包卸载之后再次安装新的包。

 

3.更换yum源,使用163的源

打开http://mirrors.163.com/.help/centos.html,在里面下载对应版本的repo文件,比如我下载的是CentOS6-Base-163.repo文件,然后把它放到/etc/yum.repos.d/下。还需要打开CentOS6-Base-163.repo文件修改$releasever为版本号6,修改后的文件已分享至https://pan.baidu.com/s/1boYZfqf

已经修改后的文件内容如下:

 

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#


[base]
name=CentOS-6 - Base - 163.com
baseurl=http://mirrors.163.com/centos/6/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6


#released updates 
[updates]
name=CentOS-6 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/6/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6


#additional packages that may be useful
[extras]
name=CentOS-6 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/6/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6


#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/6/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6


#contrib - packages by Centos Users
[contrib]
name=CentOS-6 - Contrib - 163.com
baseurl=http://mirrors.163.com/centos/6/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

 

4.清除原有缓存

使用命令 yum clean all 清除原来的缓存。

 

5.重新建立缓存

 使用命令 yum makecache 重建缓存。


 

 

 

 

 

<think>嗯,用户之前询问过如何在Red Hat系统上安装GCC,现在遇到了系统未注册到Red Hat Subscription Management的问题。看来用户按照之前的步骤操作时遇到了障碍,需要解决订阅管理的问题才能继续安装GCC。 首先,用户可能使用的是Red Hat Enterprise Linux (RHEL),而RHEL通常需要有效的订阅才能通过官方源安装软件。错误提示指出系统未注册,所以用户需要注册系统或者找到替代的软件源。 接下来要考虑用户的实际环境。用户可能没有购买Red Hat的订阅,或者可能是在测试环境中使用,所以需要寻找替代方法。常见的解决方案包括注册系统、使用开发者订阅、或者切换到CentOS的源(如CentOS已停止维护,可能转向其他替代源如AlmaLinux或Rocky Linux)。 另外,用户可能没有意识到RHEL和CentOS的区别,或者可能误用了CentOS安装步骤在RHEL上。需要明确告诉用户如何处理未注册的情况,提供几种可行的选项,并说明每种方法的适用场景。 还要考虑用户的技术水平,步骤需要详细但不过于复杂。比如,注册订阅可能需要sudo权限,而切换软件源可能需要安装EPEL或者配置其他仓库。此外,用户可能需要安装必要的工具如subscription-manager,如果系统未安装的话。 另外,用户可能希望继续使用yum/dnf安装GCC,但受限于订阅问题,所以提供替代方案如使用EPEL仓库或者启用CodeReady Builder仓库是必要的。同时,提醒用户可能存在版本兼容性和安全风险,帮助他们做出合适的选择。 最后,总结可能的解决方案,从推荐的方法(注册或使用开发者订阅)到替代方法(切换源),确保用户能根据自身情况选择最适合的解决方式。</think>当RHEL系统出现未注册订阅的提示时,说明无法直接通过官方仓库安装软件。以下是逐步解决方案: --- ### 方法1:注册系统(推荐合法授权用户) ```bash # 安装订阅管理工具(若未预装) sudo yum install subscription-manager # 使用企业账户注册(需替换真实凭证) sudo subscription-manager register --username 企业账号 --password 密码 --auto-attach # 刷新软件源 sudo yum clean all sudo yum repolist ``` --- ### 方法2:使用免费开发者订阅(适用于个人/测试环境) 1. 访问 [Red Hat开发者门户](https://developers.redhat.com/) 2. 注册免费账号并获取**16节点以内的开发订阅** 3. 终端执行: ```bash sudo subscription-manager register --username 你的开发者账号 --password 密码 sudo subscription-manager attach --auto ``` --- ### 方法3:切换第三方软件源(非官方方案) ```bash # 安装EPEL仓库 sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm # 启用CodeReady Builder仓库 sudo subscription-manager repos --enable codeready-builder-for-rhel-$(rpm -E %rhel)-$(arch)-rpms # 再次尝试安装GCC sudo yum install gcc ``` --- ### 方法4:临时绕过验证(仅紧急使用) ```bash # 修改yum配置临时禁用订阅检查 sudo sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/subscription-manager.conf # 通过CentOS Vault源安装 sudo yum install --disablerepo=* --enablerepo=C7.9.2009-base gcc ``` --- ### 最终验证 ```bash # 检查GCC是否安装成功 which gcc gcc --version ``` --- **注意事项**: 1. 生产环境建议优先选择方法1/2保持系统合规性 2. 方法3/4可能导致后续安全更新缺失 3. RHEL 8/9需将上述命令中的`yum`替换为`dnf`
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值