红帽中在使用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