to myself 的分类学习日志

做自己想做的事
posts - 232, comments - 6, trackbacks - 0, articles - 0

redhat上安装程序

Posted on 2013-07-26 10:15 kongkongzi 阅读(2468) 评论(0)  编辑 收藏 引用 所属分类: linux
Red Hat Enterprise Linux AS release 4 安装YUM
原文:http://blog.csdn.net/zevin/article/details/8234559

redhat中,yum需要单独地安装:

(1)先查看当前redhat系统的版本:cat /etc/issue

         显示:Red Hat Enterprise Linux AS release 4 (Nahant Update 6)

               Kernel \r on an \m

     系统信息存放在issue文件中。

(2)下载yum软件包:http://yum.baseurl.org/download/2.0/yum-2.0.8-1.src.rpm

(3)安装(由于是RPM源码包所以安装比较特殊)
          #rpmbuild rebuild yum-2.0.8-1.src.rpm

          如果按照上面的命令安装,会出现如下错误:

          rpmbuild: arguments to --root (-r) must begin with a /

          解决方法:

          rpmbuild --rebuild xxx.src.rpm

4)安装成功后,进入到:/usr/src/redhat/RPMS/noarch/,并安装yumrpm包:

      cd /usr/src/redhat/RPMS/noarch/

      rpm -ivh yum-2.0.8-1.noarch.rpm

  (5yum的配置文件(如果没有的话,可以自己创建)

       cat /etc/yum.conf

   [main]
       cachedir=/var/cache/yum
       debuglevel=2
       logfile=/var/log/yum.log
       pkgpolicy=newest
       distroverpkg=redhat-release
       tolerant=1
       exactarch=1
       [base]
       name=Red Hat Linux $releasever - $basearch - Base
       baseurl= http://centos.ustc.edu.cn/centos/4/os/i386/
       [updates]
       name=Red Hat Linux $releasever - Updates
       baseurl= http://mirror.centos.org/centos/4/updates/i386/

或者(64 bit)

[main]

cachedir=/var/cache/yum

debuglevel=2

logfile=/var/log/yum.log

pkgpolicy=newest

distroverpkg=redhat-release

tolerant=1

exactarch=1

[base]

name=Red Hat Linux $releasever - $basearch - Base

baseurl=http://centos.ustc.edu.cn/centos/4/os/x86_64/

[updates]

name=Red Hat Linux $releasever - $basearch - Base

baseurl=http://centos.ustc.edu.cn/centos/4/os/x86_64/

现在问题的关键是,AS4yum源现在都不维护了,好多源地址都不可用,少数可用的,rpm包还不全。现在是AS5AS6最常用了。

 

Yum update 的可用源:

[base]

name=Red Hat Enterprise AS release 4 Updates

baseurl= http://apt.sw.be/redhat/el4/en/i386/dag/

http://apt.sw.be/redhat/el4/en/i386/rpmforge/

http://mirror.cpsc.ucalgary.ca/mirror/dag/redhat/el4/en/i386/dag/

http://mirror.cpsc.ucalgary.ca/mirror/dag/redhat/el4/en/i386/rpmforge/

gpgcheck=0

但是貌似没有xorg-x11的源

(6)执行 yum update 

会出现No module named rp问题,解决方案:

常规解决方法比较麻烦,有一种很土但很简便的方法:

由于yum是基于python

修改/usr/bin下的关于yumpython文件:

#vim /usr/bin/yum

将首行显示的 #!/usr/bin/python 修改为 #!/usr/bin/python2.3(我的系统默认安装的是python2.3,你也可以用whereis python 查看升级前和升级后的版本) 

执行yum --version,可以发现yum正确安装。

如果还有别的问题,就是yum.conf文件配置的问题,可以去/etc下修改该文件。




TIPS: 常规的繁琐解决方案:

由于YUM包管理是使用Python编写的,因此如果单独对Python进行升级可能会导致YUM服务无法使用。

出现这种情况的主要原因在于新安装的Python没有YUM服务所依赖的Packages

可以尝试在Python中执行import yum语句,如果Python此时抛出异常则表示YUM无法正常运行。

一般情况下出现的问题为:No module named rpm,如果这时没有rpm-python的安装包,那么就需要来重新build一个,这个package被包含在了rpm代码当中,所以先要到rpm.org网站上下载对应机器上rpm版本的源码包,然后解压,执行./configure,进入python子目录,执行make install。安装完成后,退出python子目录,执行python,再次import yum,查看是否不再出现No module named rpm,如果依然出现可以检查一下安装路径的配置。需要注意的是:1.没有必要对整个rpm进行安装,只需要对python子目录的部分进行安装;2.在执行import yum前,一定要先退出python子目录,否则python会以当前目录下的rpm目录作为rpm包的目录位置,而不会去引用site-packages目录下的rpm,会导致出现No module named _rpm异常。

rpm下载地址http://rpm.org/wiki/Download

除了rpm-python,其他需要的一些package

urlgrabber02http://linux.duke.edu/projects/urlgrabber/download/
iniparse http://code.google.com/p/iniparse/
yum-metadata-parser http://yum.baseurl.org/download/yum-metadata-parser/

解压后执行python setup.py install,进行安装。

最后再次在Python执行import yum,如果不在抛出异常则表示修复成功。这时yum就可以正常使用了。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理