分类: LINUX
2010-11-22 15:02:46
在下 运行yum install flash-plugin或yum install mplayer的时候,提示库里没有找到这个软件?为什么会这样?因为CentOS是RHEL编译过来的,去掉了所有关于版权问题的东西。因此,在没有使 用第三方软件库的情况下,很多软件无法用yum install来直接安装。
EPEL(Extra Packages for )软件库提供为 EL4 及 EL5 重新编译的 组件。这个软件库在不替换系统组件方面下了功夫。在某些情况下它尝试直接针对 CentOS 兼容性的问题,但坚决否定软件库间的兼容性是目标之一。当它与其它第三方软件库混合使用时,问题可能会出现。故此,当你使用 EPEL 时,尤其是当你亦会运用其它件库的组件时,请确保你使用 yum 的 Priorities 插件。
库现在已经拥有超过10000种的CentOS的软件包,被CentOS社区认为是最安全也是最稳定的一个第三方软件库。
下面,偶就来讲解下如何使用EPEL与RPMForge、软件仓库:
一、安装yum-priorities插件。
这个插件是用来设置yum在调用软件源时的顺序的。因为官方提供的软件源,都是比较稳定和被推荐使用的。因此,官方源的顺序要高于第三方源的顺序。如何保证这个顺序,就需要安装yum-priorities这插件了。
[root@CentOS ~]# yum install yum-priorities #安装yum-priorities
安装完后需要设置/etc/yum.repos.d/ 目录下的.repo相关文件(如CentOS-Base.repo),在这些文件中插入顺序指令:priority=N (N为1到99的正整数,数值越小越优先)
一般的配置是这样的:
[base], [addons], [updates], [extras] … priority=1
[CentOSplus],[contrib] … priority=2
其他第三的软件源为:priority=N (推荐N>10)
如我的CentOS-Base.repo配置为:
# CentOS-Base.repo
#
# The mirror uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#[base]
name=CentOS-$releasever – Base
mirrorlist=
#baseurl=
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1#released updates
[updates]
name=CentOS-$releasever – Updates
mirrorlist=
#baseurl=
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever – Addons
mirrorlist=
#baseurl=
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1#additional packages that may be useful
[extras]
name=CentOS-$releasever – Extras
mirrorlist=
#baseurl=
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1#additional packages that extend functionality of existing packages
[CentOSplus]
name=CentOS-$releasever – Plus
mirrorlist=
#baseurl=
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=2#contrib – packages by CentOS Users
[contrib]
name=CentOS-$releasever – Contrib
mirrorlist=
#baseurl=
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=2
二、下载与安装相应EPEL的rpm文件包
1,下载与安装EPEL的rpm文件包
32位系统
[root@CentOS ~]# rpm -ivh
64位系统
[root@CentOS ~]# rpm -ivh
如果您不清楚您的系统内核,请使用 uname -a 命令来查看您的内核信息。
2,导入DAG的PGP Key
[root@CentOS ~]# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
3,设置/etc/yum.repos.d/epel.repo文件中源的级别,就是添加priority=11这句。
如我的epel.repo文件内容:
[epel]
name=Extra Packages for Enterprise Linux 5 – $basearch
#baseurl=
mirrorlist=
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
priority=11[epel-debuginfo]
name=Extra Packages for Enterprise Linux 5 – $basearch – Debug
#baseurl=/debug
mirrorlist=
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1[epel-source]
name=Extra Packages for Enterprise Linux 5 – $basearch – Source
#baseurl=
mirrorlist=
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1
三、下载与安装相应rpmforge的rpm文件包
1,下载rpmforge的rpm文件包
32位系统
[root@CentOS ~]# wget
64位系统
[root@CentOS ~]# wget
2,安装DAG的PGP Key
[root@CentOS ~]# rpm –import
3,验证rpmforge的rpm文件包
[root@CentOS ~]# rpm -K rpmforge-release-0.5.1-1.el5.rf.*.rpm
4,安装rpmforge的rpm文件包
[root@CentOS ~]# rpm -i rpmforge-release-0.5.1-1.el5.rf.*.rpm
5,设置/etc/yum.repos.d/rpmforge.repo文件中源的级别,就是添加priority=12这句。
如我的rpmforge.repo文件内容:
### Name: RPMforge RPM Repository for Red Hat Enterprise 5 – dag
### URL:
[rpmforge]
name = Red Hat Enterprise $releasever – RPMforge.net – dag
baseurl =
mirrorlist =
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
priority=12
四、下载与安装相应rpmfusion的rpm文件包
(CentOS官方说这个软件库里面的软件稳定性不如rpmforge,选用!rpmfusion官方站:)
[root@CentOS ~]# rpm -Uvh
[root@CentOS ~]# rpm -Uvh
五、测试
1,测试升级
[root@CentOS ~]# yum check-update
输出信息应该会有以下两行:
Loading “priorities” plugin
…
XX packages excluded due to repository priority protections
2,安装下mplayer播放器试试,如果安装成功了就没有问题了。
[root@CentOS ~]# yum install mplayer
PS:以上配置在RHEL/CentOS 5.X所有系列都可以使用!由本人验证总结整理。
参考文档: