今天碰上要给一台装有Linux的机器做维护,于是就以为按照以往经验就能解决问题,但是神奇的发现机器上一堆的软件包都没有安装,
最要命的是连软件包管理器也都没有安装,本以为是FreeBSD,查了一下才发现是RedHat Linux Server 5.4,
于是开始着手安装YUM,在Google搜索了一下,发现貌似类似的情况不多,但是这确实不是我第一次遇到RedHat没有yum了,
因为上次遇到的时候是别人让帮忙看看,解决不了也就没留心,但这次维护是必要的,于是尝试了许久,
这大概是我最不舒服的一次经历了,而且RedHat很多资源都不多,于是基本rpm包都是借助了CentOS 5,于是对RedHat充满了怨念。

首先需要确定系统架构
#uname -a
Linux skw 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
确认是x86_64之后,在网易的mirrors下载需要的rpm包:(如果是i386的话则需要到http://mirrors.163.com/centos/5/os/i386/CentOS/ 找到对应的软件包)

wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/m2crypto-0.16-8.el5.x86_64.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/python-urlgrabber-3.1.0-6.el5.noarch.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm

然后 安装软件包,并导入证书

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

让yum使用网易的源:

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

使用
#vi CentOS-Base-163.repo
在所有mirrorlist前面加上#,把所有$releasever替换成5,保存

#yum clean metadata
#yum makecache

于是yum就正常工作了,然后随手就更新一下,就OK了
#yum -y upgrade