2009-12-16 22:46
以前用Linux都是停留在SSH阶段,一个命令行,几个命令,解决问题。

用XP越用越无聊,于是决定尝试下CentOS。

因为以前看过《鸟哥的Linux私房菜》,所以安装操作系统的时候没有遇到什么问题。

但是,启动--进入系统,遇到了麻烦,用自己在Windows下养成的习惯开始找桌面应用的rpm包。刚刚开始没有什么问题,QQ for Linux,OpenOffice……

想装Mplayer出问题了,依赖关系不行。难道我要顺着依赖关系一个个去找,一个个下?那不麻烦死?

于是Google下,找到了这篇文章《CentOS软件安装血泪经验》。文章中提到“在CentOS这样的系统里面,安装软件最简单最好的办法还是解决源-软件仓库的问题”。于是,采用文章作者的方法--用yum安装,令我少走了许多弯路。下面简要地总结一下实现方法:

一、确认系统是否安装了priority这个yum的插件,这个插件用来保证安装软件时候软件仓库先后次序,一般是默认先从官方base或者镜像安装,然 后从 社区用户contribute的软件中安装,再从第三方软件仓库中安装。当然这个次序可以自己更改,为了安全和稳定还是依照这个次序吧....
yum install yum-priorities

安装完以后查看 /etc/yum/pluginconf.d/priorities.conf 文件,确认文件中有这一行
[main]
enabled=1

同时,为了防止一些已经废弃(obsoletes)的包的出现,在这个文件[main]范围内加上check_obsoletes=1

二、现在就可以手动编辑 /etc/yum.repos.d/ 目录中后缀为.repos的文件来设置软件仓库的先后次序(感觉我这个翻译不是很适当,priority主要还是个权限问题,但一时找不到更好的词,就这样吧)....

priority=N(N是整数,范围从1-99)

贴个参考的CentOS-Base.repo文件
-------------------------------------------------------------------------------------
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
priority=1

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
priority=1

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
priority=1

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
priority=1

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
priority=2

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
priority=2
--------------------------------------------------------------------------------------

三、安装rpmforge
a 先下载rpmforge的安装包
i386 http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

x86_64 http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

b 安装DAG的PGP Key
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

c 验证下载包的完整性
rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm

d 安装包
rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm

e 更改 /etc/yum.repos.d/rpmforge.repo 配置文件,就是添加
priority=3(或者1.2.4....)这一句

四、还有其他的软件仓库可以使用具体配置见CentOS官方推荐的第三方软件仓库和安装方法(其实我就是照着这个总结的,呵呵~)

OK了,现在可以方便的安装软件了。

例:yum install mplayer