Red hat6.4重新安装yum

今天在Red Hat上安装软件时,发现需要依赖软件,然而在用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.4 (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,则执行如下的下载命令:

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

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

  1. # wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
  2. # wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.2.29-73.el6.centos.noarch.rpm
  3. # 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包

       1.由于我们后续需要重新安装这三个rpm包,我们事先要移除掉系统中自带的yum-metadata-parser-(此处省略)跟yum-3.2.29(此处省略)(只有版本号不一样)这俩个版本包,然后重新安装yum-metadata-parser-1.1.2-16.el6.x86_64.rpm跟yum-3.2.29-73.el6.centos.noarch.rpm,后续才不会出现conflict问题(conflict是指rpm安装的包重复的问题)

     移除命令:rpm -e 文件名 --nodeps

       2.rpm -ivh yum-*

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

  a. 如果错误为:

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

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

  b.如果错误为:

  1. warning: yum-metadata-parser-1.1.2-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
  2. error: Failed dependencies:
  3. 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  --nodeps     

    步骤三:下载: 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

   上述问题完成以后,重新执行rpm -ivh yum-*

更改yum源  

①下载yum配置文件

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

②配置

  1. vim CentOS6-Base-163.repo

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

          sed -i "s/\$releasever/6/g"  CentOS6-Base-163.repo

5.重建缓存

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

6.测试

     yum install vim*

  到这里,我们就可以用yum源在线安装软件了

猜你喜欢

转载自www.cnblogs.com/ChinaBen/p/9184104.html