红帽中在使用yum命令安装软件时,出现This system is not registered with RHN这个的原因是因为红帽中没有注册RHN。

Redhat Linux企业版免费发布,但技术支持和更新是需要收服务费的,如果我们的RHEL没注册到RHN,那就没法通过yum下载更新软件包。

CentOS是使用RHEL公布的源代码重新编译的Linux发行版,大部分情况下CentOS的软件包和RHEL完全一致,因此我们可以放心的让yum指向CentOS的源下载和更新软件包。

 

解决办法,主要是更改yum的源:

      方法一:

(假定你已安装yum,且网络畅通)

更改yum的源,即更换/etc/yum.repos.d /rhel-debuginfo.repo 这个文件。进入/etc/yum.repos.d/目录,终端中输入:

#wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo

即可在此目录下得到CentOS- Base.repo文件,这是centos的源文件,只需将其重命名为

rhel-debuginfo.repo即可

注:以前的文件做个备份  

 

方法二:

1、下载163提供的CentOS更新源

进入yum源配置目录(/etc/yum.repos.d),运行如下命令下载更新源文件

 #wget http://mirrors.163.com/.help/CentOS-Base-163.repo

 #mv rhel-debuginfo.repo rhel-debuginfo.repo.bak

2、修正源文件的错误

此更新源文件是为CentOS准备的,和RHEL的不完全相同,要把文件里的版本强制改为5

vi CentOS-Base-163.repo, 然后用命令“:1,$s/$releasever/5/g”将$releasever全部替换为5

3、导入CentOS的KEY

运行如下命令:

rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5

经过这简单的几步,yum已经可以正常工作了

 

在执行yum -y  install xxxx时出现下面的问题: 

Loading "installonlyn" pluginExisting lock /var/run/yum.pid: another copy is running.

解决方法:
[root@localhost ~]# rm -f /var/run/yum.pid
[root@localhost ~]# /etc/init.d/yum-updatesd stop
停止 yum-updatesd: [确定]

我们可以删除这个服务
#yum remove yum-updatesd

这样我们需要经常如下手动更新
#yum update