• 欢迎访问极客公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入极客公园 QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 百度口碑求点赞啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊http://koubei.baidu.com/s/gitcafe.net
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏极客公园吧

(原创)RHEL/CentOS 5.x使用第三方软件库(EPEL与RPMForge、RPMFusion软件库)

原创总结 博客教主 14年前 (2010-08-05) 19738次浏览 33个评论

PS:在CentOS下运行yum install flash-plugin或yum install mplayer的时候,提示库里没有找到这个软件?为什么会这样?因为CentOS是RHEL编译过来的,去掉了所有关于版权问题的东西。因此,在没有使用第三方软件库的情况下,很多软件无法用yum install来直接安装。

EPEL(Extra Packages for Enterprise Linux )软件库提供为 EL4 及 EL5 重新编译的 Fedora 组件。这个软件库在不替换系统组件方面下了功夫。在某些情况下它尝试直接针对 CentOS 兼容性的问题,但坚决否定软件库间的兼容性是目标之一。当它与其它第三方软件库混合使用时,问题可能会出现。故此,当你使用 EPEL 时,尤其是当你亦会运用其它件库的组件时,请确保你使用 yum 的 Priorities 插件。

RPMForge库现在已经拥有超过10000种的CentOS的软件包,被CentOS社区认为是最安全也是最稳定的一个第三方软件库。

下面,偶就来讲解下如何使用EPEL与RPMForge、RPMFusion软件仓库:

一、安装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 system 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=http://mirrorlist.CentOS.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.CentOS.org/CentOS/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
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=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=http://mirrorlist.CentOS.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.CentOS.org/CentOS/$releasever/addons/$basearch/
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=http://mirrorlist.CentOS.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.CentOS.org/CentOS/$releasever/extras/$basearch/
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=http://mirrorlist.CentOS.org/?release=$releasever&arch=$basearch&repo=CentOSplus
#baseurl=http://mirror.CentOS.org/CentOS/$releasever/CentOSplus/$basearch/
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=http://mirrorlist.CentOS.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.CentOS.org/CentOS/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=2

二、下载与安装相应EPEL的rpm文件包

1,下载与安装EPEL的rpm文件包

32位系统
# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
64位系统
# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
如果您不清楚您的系统内核,请使用 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=http://download.fedoraproject.org/pub/epel/5/$basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch
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=http://download.fedoraproject.org/pub/epel/5/$basearch/debug
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-5&arch=$basearch
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=http://download.fedoraproject.org/pub/epel/5/SRPMS
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

三、下载与安装相应rpmforge的rpm文件包

1,下载rpmforge的rpm文件包

32位系统
# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
64位系统
# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm

2,设置/etc/yum.repos.d/rpmforge.repo文件中源的级别,就是添加priority=12这句。

如我的rpmforge.repo文件内容:

### Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
### URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el5/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#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官方站:http://rpmfusion.org)
# rpm -Uvh http://download1.rpmfusion.org/free/el/updates/5/x86_64/rpmfusion-free-release-5-1.noarch.rpm

# rpm -Uvh http://download1.rpmfusion.org/nonfree/el/updates/5/x86_64/rpmfusion-nonfree-release-5-1.noarch.rpm

五、测试

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所有系列都可以使用!由本人验证总结整理。2015年12月更新了下载链接。

参考文档:http://wiki.centos.org/zh/AdditionalResources/Repositories/RPMForge


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:(原创)RHEL/CentOS 5.x使用第三方软件库(EPEL与RPMForge、RPMFusion软件库)
喜欢 (0)

您必须 登录 才能发表评论!

(33)个小伙伴在吐槽
  1. 呵,这个是我看到的总结得最全面的~
    小马哥2010-08-18 11:47
    • 博客教主
      嗯,就是看到网上的都不全,才整理总结的。也方便自己,那些长长的网址偶一般不会去记的~~
  2. 总算可以不用去看鸟语了,
    2010-08-23 16:22
  3. 正困扰第三方仓库会不会造成兼容性问题的时候,这篇文章解决了我的疑惑。感谢~
    2010-09-08 12:51
  4. 谢谢分享!整理得很好!
    fofa2010-09-14 21:10
  5. 好文,非常有用。mark了
    msg70862010-09-16 17:31
  6. 楼主,我按照你的方法做,RPMForge依旧无法使用,有几点疑点忘解答 1.不清楚为什么安装RPMForge包后,我的 yum就无法使用,提示(Segmentation fault),但安装RPMForge包之前是好的 2.所有步骤都按照你的做的,就是无法用
    东方骆驼2010-09-25 11:08
  7. [weatny@weatny ~]$ sudo yum install mplayer [sudo] password for weatny: Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=i386 error was [Errno 4] IOError: Error: Cannot find a valid baseurl for repo: epel 搂住看看怎么回事啊》现在什么软件都装不上了
    weatny2010-12-29 00:35
  8. 总结得不错,收藏了。
    wisfern2011-01-04 23:29
  9. 学习了
    卡卡卡2011-02-11 15:32
  10. 好文,不过貌似还有一个叫做webtatic的第三方源也不错~
    amoblin2011-04-08 11:25
  11. 写的真详细, 我这个说明添加成功 RHEL 6. 试用版。 我没有安装yum-priorities插件,也没设置软件源级别
    huayi22011-06-06 16:08
  12. 不错!!!真的不错!
    打杂2011-06-29 22:48
  13. 呵,欢迎常来~~
  14. 不知道在centos 6 这样做是不是可行!
    电线杆儿2011-07-19 02:31
  15. 膜拜
    fenger2013-02-26 11:18
  16. 前几天安装的CentOS6.4,参考博主配置成功来,谢谢!~会常来学习
    SingleX2013-07-06 19:31