RedHat6.5更新软件源

今天在Red Hat上安装软件时,发现需要依赖软件,然而在用sudo yum指令时,出现了下面的错误:This system is not registered

<iframe src="//music.163.com/outchain/player?type=2&id=29577984&auto=0&height=66" frameborder="no" marginwidth="0" marginheight="0" width="530" height="86"></iframe>

今天在Red Hat上安装软件时,发现需要依赖软件,然而在用sudo yum指令时,出现了下面的错误:

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

出现这个问题的原因是:redhat未注册,连接redhat官方软件源时,对未注册的用户不提供下载软件包的权限。

解决办法:因为centOS和redhat “本自同根生”,因此可以使用centOS的软件源。

1.对系统的检测【重要

这一步往往不能引起使用者的重视。然而,忽略这一步将会在后续步骤上浪费时间。请记住:磨刀不误砍柴工。

①查看系统版本号:cat /etc/redhat-release 

  结果为:Red Hat Enterprise Linux Server release 6.5 (Santiago)

②查看系统位数:arch

  结果为:x86_64

③检查是否安装yum包: rpm -qa |grep yum

  注:使用了管道命令。

2.删除自带的yum包

①不检查依赖,直接删除rpm包:rpm -qa|grep yum|xargs rpm -e --nodeps

②查询确认:rpm -qa |grep yum

  如果查询结果为空,则说明删除yum成功。

3.安装新yum

①下载yum包

  这一步以第一大步为基础。

  如果redhat版本为6.+,且系统位数为x86_64,则执行如下的下载命令:

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm

  如果redhat版本为6.+,且系统位数为i386,则执行如下的下载命令:

# wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
# wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.2.29-73.el6.centos.noarch.rpm
# wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm

注:由于centOS的软件源也一直在更新,如果上述下载命令找不到文件,则进入 http://mirrors.163.com/centos 查看对应的文件。总之,最终下载完成这3个文件就可以了。其他版本的yum包下载以此类推。

②安装yum包

rpm -ivh yum-*

  这一步极有可能出现错误。

  a. 如果错误为:

error: Failed dependencies:
	libc.so.6 is needed by yum-metadata-parser-1.1.2-16.el6.i686
	libc.so.6(GLIBC_2.0) is needed by yum-metadata-parser-1.1.2-16.el6.i686
	libc.so.6(GLIBC_2.1.3) is needed by yum-metadata-parser-1.1.2-16.el6.i686
	libglib-2.0.so.0 is needed by yum-metadata-parser-1.1.2-16.el6.i686
	libpthread.so.0 is needed by yum-metadata-parser-1.1.2-16.el6.i686
	libpython2.6.so.1.0 is needed by yum-metadata-parser-1.1.2-16.el6.i686
	libsqlite3.so.0 is needed by yum-metadata-parser-1.1.2-16.el6.i686
	libxml2.so.2 is needed by yum-metadata-parser-1.1.2-16.el6.i686
	libxml2.so.2(LIBXML2_2.4.30) is needed by yum-metadata-parser-1.1.2-16.el6.i686
	python-urlgrabber >= 3.9.1-10 is needed by yum-3.2.29-73.el6.centos.noarch

  说明软件包不兼容。比如我是64位的系统,下载了32的软件包。

  b.如果错误为:

warning: yum-metadata-parser-1.1.2-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
    error: Failed dependencies:
	    python-urlgrabber >= 3.9.1-10 is needed by yum-3.2.29-73.el6.centos.noarch

  则是 依赖条件不满足 的问题。

  按照如下步骤操作即可:

    步骤一:rpm -qa|grep python

      发现列表中python-urlgrabber-3.9.1-9.el6.noarch ,小于3.9.1-10

    步骤二:卸载python-urlgrabber-3.9.1-9.el6.noarch:rpm -e python-urlgrabber-3.9.1-9.el6.noarch

    步骤三:下载: wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm

    步骤四:安装:rpm -ivh python-urlgrabber-3.9.1-11.el6.noarch.rpm

4.更改yum源  

①下载yum配置文件

cd /etc/yum.repos.d
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

②配置

sudo vim CentOS6-Base-163.repo

  把$releasever替换成现有系统的版本号(6)

  在命令模式下使用vim替换命令(更多vim知识 >>>

    :%s/$releasever/6/g

  退出保存

5.重建缓存

clean all  #清除原有缓存
sudo yum makecache  #重建缓存,以提高搜索安装软件的速度

6.测试

sudo yum seach git

7.更新系统

sudo yum update

注:这一步可能需要很久,如果不愿意等,可以先不进行。

8.参考网址

  1. http://blog.csdn.net/xy2204/article/details/51781287
  2. http://qingwang.blog.51cto.com/505009/1551228/
  3. http://blog.163.com/chenchen..1986/blog/static/76063146201645243952/