【经历】关于linux配置yum全攻略(例:REDHAT 5.8)

发布于 2014-09-01  4.47k 次阅读


对于搞linux的人来说,不管你是老手还是新手,当你在命令行下安装软件的时候,真的太需要yum这个命令了,万一遇到了包依赖的情况,你那时候真的是相当的头疼,但是yum却可以帮你妥妥的简化这个问题,但是问题是yum怎么配置,我很懒,一直都没有用这个东西,但是这次铁了心想把他弄好,所以我在这里写一个我觉得完整的教程,搜集了各路资料,供大家参考,请笑纳,如有不到之处,敬请谅解。
为了能不走回头路,前面的确认事情希望你能大概的过一下,后面的步骤其实很简单

在你安装yum之前,先确认几件事情,

第一,你的不是正版红帽子系统,正版的应该是可以直接使用的,如果是非正版的,确定你的yum不能用再搞这个,不然浪费时间。
第二,确认你的系统是多少位的。
可以使用命令file /sbin/init或者file /bin/ls或者uname -a
执行之后显示的是

/bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped

(内中有64-bit)类似的就是64位的,反之,显示的是

/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped

(内中有32-bit)类似的就是32位。
uname -a 显示如下

Linux dataserver 2.6.18-348.el5 #1 SMP Wed Nov 28 21:22:00 EST 2012 x86_64 x86_6

x86_64 这样子的是64位的

Linux test14.hzwl.com 2.6.18-308.el5 #1 SMP Fri Jan 27 17:21:15 EST 2012 i686 i686 i386 GNU/Linux

i686以及i386这样子的是 32位的。

第三,确定你的系统版本,这里涉及到一个情况,比如说安装oracle的时候为了通过验证,你修改过系统版本,所以有些直观的查询显示的是错误的信息。常用方法有
rpm -q redhat-release lsb_release -acat /etc/redhat-release uname -a
就列出这四种方法,个人觉得第一种是准确的,第二和第三种很可能是错误的,第四种就是可以按内核的,是一定准确的,但是要根据内核去找这是哪个版本的linux,比如,我的机器时候uname -a 后可以得到代码中一部分是

Linux test14.hzwl.com 2.6.18-308.el5 其中2.6.18-308.el5就是内核代码,去百度搜索下很容易就可以知道该内核是红帽子5.8的内核

第四,因为红帽子对外的源肯定不是免费的,所以下载的基本都是centos的源,所以需要对照下内核版本,这里给一个对比表,网上搜来的原文自己找:

Redhat 9.0———————————————2.4.20-8
RHEL 3 Update 8————————————2.4.21-47
RHEL 4 ————————————————2.6.9-5
RHEL 4 Update 1————————————2.6.9-11
RHEL 4 Update 2————————————2.6.9-22
RHEL 4 Update 3————————————2.6.9-34
RHEL 4 Update 4————————————2.6.9-42
RHEL 4 Update 5————————————2.6.9-55
RHEL 4 Update 6————————————2.6.9-67
RHEL 4 Update 7————————————2.6.9-78
CENTOS 5/RHEL 5 ———————————2.6.18-8
CENTOS 5.1/RHEL 5 Update 1——————2.6.18-53
CENTOS 5.2/RHEL 5 Update 2——————2.6.18-92
CENTOS 5.3/RHEL 5 Update 3——————2.6.18-128
CENTOS 5.4/RHEL 5 Update 4——————2.6.18-164
CENTOS 5.5/RHEL 5 Update 5——————2.6.18-194
CENTOS 5.6/RHEL 5 Update 6——————2.6.18-238
CENTOS 5.7/RHEL 5 Update 7——————2.6.18-274
CENTOS 5.8/RHEL 5 Update 8——————2.6.18-308
CENTOS 6.0/RHEL 6 Update 0——————2.6.32-71
CENTOS 6.1/RHEL 6 Update 1——————2.6.32-131
CENTOS 6.2/RHEL 6 Update 2——————2.6.32-22

好了,到现在已经确定了系统位数,系统版本,内核版本。我们就开始安装yum工作

  • 第一步,删除原有的yum组件

rpm -aq|grep yum|xargs rpm -e --nodeps

  • 第二步,下载对应yum的rpm包

在/home/下建立文件夹yum mkdir yum 进入yum文件夹执行下下面wget下载语句:
wget http://mirrors.163.com/centos/5/os/i386/CentOS/python-iniparse-0.2.3-6.el5.noarch.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/centos-release-5-10.el5.centos.i386.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/centos-release-notes-5.10-0.i386.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-4.el5.i386.rpm

上面我们做了很多准备工作,就是为了这里,网易是比较不错的源
我们确认系统是32的还是64的就是这里选择i386还是x86_64的原因,如果32位的下载64位的会多出很多麻烦事情,我们就不具体说。
另外,这个下载的rpm包名字不一定完全对上,
python-iniparse-0.2.3-6.el5.noarch.rpm
centos-release-5-10.el5.centos.i386.rpm
centos-release-notes-5.10-0.i386.rpm
yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
yum-3.2.22-40.el5.centos.noarch.rpm
yum-metadata-parser-1.1.2-4.el5.i386.rpm
可以去http://mirrors.163.com/centos/5/os/i386/CentOS/(如果是64位http://mirrors.163.com/centos/5/os/x86_64/CentOS/)下面找,获取版本不同,但是包名应该是相同的。如果是6.几的就把链接中的5改成6

  • 第三步,安装验证文件

rpm --import http://mirror.centos.org/centos/5/os/i386/RPM-GPG-KEY-CentOS-5

  • 第四步,安装yum软件包

注意:用rpm安装的时候不要一个个的安装,不然会出现相互依赖问题。由于红帽的一些yum说明文档会和centos的yum文档冲突而导致rpm安装失败。所以用--force忽略掉冲突而强制安装即可。
rpm -ivh --force *.rpm

  • 第五步,让yum使用网易的源:

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

这个貌似失效了,可以去这个页面下载:http://mirrors.163.com/.help/centos.html

  • 第六步,使用它(这步可以忽略不做

#vi CentOS5-Base-163.repo
在所有mirrorlist前面加上#,把所有$releasever替换成5,保存
5就是版本号

  • 第七步,清理并重新生成yum缓存

#yum clean metadata

#yum makecache

  • 第八步,于是yum就正常工作了,可以直接使用,也可以更新使用

#yum -y upgrade
升级时间貌似是比较长的,所以这一步可以在下班的时候执行。
yum -y update
升级所有包,改变软件设置和系统设置,系统版本内核都升级
yum -y upgrade
升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变

大功告成!


生命旅客,闷头赶路总不太可取,留一刻给那可爱可敬的人,留一眼给那靓丽迷人之景,也请善待自己~