被Debian/Ubuntu惯坏了之后,再来用 RHEL/CentOS 实在是有点不习惯,软件都老且不说,关键是你还别嫌老(5年一个大版本的节奏真受不了啊,RHEL 6上面还是python 2.6),大多数时候还没有,这也是为啥网上很多系统管理员一说安装软件都是 ./configure && make && make install 自行编译三部曲。这对于简单的软件还好说,对于一些复杂的软件,还真不放心编译时依赖软件/依赖库都装了,版本是否都对了,编译选项是否都启用了。。。再加上我这样的懒人,真懒得编译。

—— 先不抱怨了,好歹RHEL/CentOS上还有几个比较大的第三方库,这比之前部门强推的SuSE Linux Enterprise Edition已经强不少了(别跟我说OBS 那上面的仓库)。

注:为简单起见,这里只按CentOS 6.x/x86_64进行说明,对于其它版本和i386架构(以及ppc等架构),请以此类推。至于CentOS 7弃用yum改用dnf的事情,过两年用上CentOS 7的时候再说吧。

1. EPEL (Extra Packages for Enterprise Linux)

http://fedoraproject.org/wiki/EPEL

EPEL provides rebuilds of Fedora packages for EL5, EL6 and EL7. Packages should not replace base,

although there have been issues around point releases in the past. You can install EPEL by running

yum install epel-release. The epel-release package is included in the CentOS Extras repository

that is enabled by default.

添加此仓库的方法:

  wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# or
# wget http://ftp.cn.debian.org/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh epel-release-latest-6.noarch.rpm

软件包分类浏览: http://ftp.cn.debian.org/epel/6Server/x86_64/repoview/

软件包详细列表: http://ftp.cn.debian.org/epel/6Server/x86_64/

参考说明:

2. rpmfusion

http://rpmfusion.org/

RPMfusion Repository - (See http://rpmfusion.org/) provides "software that the Fedora Project or Red

Hat doesn't want to ship" for EL5 and 6. Known to replace base packages.

添加此仓库的方法:

wget -c http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm
wget -c http://download1.rpmfusion.org/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm
# or
wget -c http://ftp.cn.debian.org/rpmfusion/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm
wget -c http://ftp.cn.debian.org/rpmfusion/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm
yum -ivh rpmfusion-*release-6*.rpm

详细说明请阅读: Configuration - RPM Fusion

3. repoforge (以前也叫rpmforge或者wag)

http://repoforge.org/

CentOS的Wiki上对repoforge的说明是:

Although once recommended, this repository is no longer maintained, and is not advised.

虽然如此,但rpmforge提供的软件还是比较多的,并且跟别的第三方仓库不同的是,它会对RHEL/CentOS发布版内含

的软件也提供更新版本,所以在很多时候还是得找它。(不过 http://ftp.cn.debian.org 没有提供此仓库的镜像,

而前面epel和rpmfusion都有)。

添加此仓库的方法:

wget -c http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-*.rpm

详细说明请阅读 Using RepoForge

4. Software Collections (SCL)

https://www.softwarecollections.org/en/

其实这不算一个“第三方仓库”,因为它是RedHat/CentOS自己提供的。这个仓库没提供几个软件,主要是服务器上

常用的apache/mysql/python/ruby/pgsql等软件的新版本(再吐槽一遍: RHEL/CentOS里面的软件包实在是太老

了!!!),它们也不会覆盖原来的旧版本,使用上也需要采用特殊的方式(比如scl enable python33 -m SimpleHTTPServer)

The SCL repository contains newer versions of various programs. These packages can be installed

alongside existing older packages. At the time of writing, the repository contains packages for

mariadb55, mysql55, nodejs010, perl516, php54, postgres92, python27, python33 and ruby193.

CentOS 6的仓库里面已经有这个SCL仓库的地址描述,执行下面的语句就可以此仓库:

yum install centos-release-SCL

参考文档:

5. 补充说明

可以查看仓库列表

因为有时候会有其他人修改(或者自己以前修改的,但忘记了) /etc/yum.repos.d/<foobar>.repo ,对某些仓库设置了禁用 (enabled=0),这时可以用 yum repolist 看看到底有哪些仓库。

在本地查看单个仓库的包列表

yum --disablerepo="*" --enablerepo="epel" list available | less

仓库的优先级问题(以及如何从指定库安装软件)

虽然大多数情况下你都期望安装新版本(多个仓库有同一个软件时,yum会安装版本最新那个),但有时候也会有想装老版本的场景,这时候有以下几种做法:

  1. 设置仓库的优先级: 安装 yum-plugin-priority,然后在 /etc/yum.repos.d/*.repo 里面设定每个仓库的优先级(详细的说明请见 [[https://wiki.centos.org/PackageManagement/Yum/Priorities][PackageManagement/Yum/Priorities - CentOS Wiki]] );
  2. 安装时临时禁用新版本所在的仓库: yum --disablerepo=extras install packageA
  3. 安装时指定从某个仓库安装这款软件: yum --disablerepo="*" --enablerepo="epel" install packageA
  4. nixcraft的博客文章RHEL/CentOS EPEL (Extra Packages for Enterprise Linux) Repository里面还提到另外一个叫做yum-plugin-protectbase的插件,说 This plugin allows certain repositories to be protected. Packages in the protected repositories can't be overridden by packages in non-protected repositories even if the non-protected repo has a later version. 但我也是刚看见,还没有用过。

6. 其它相关链接

RHEL/CentOS 一些不错的第三方软件包仓库的更多相关文章

  1. RHEL/CentOS 7.x/6.x/5.x开启EPEL仓库

    说明 原文链接 翻译:@adolphlwq 项目地址 这篇指南文章教你如何在 RHEL/CentOS 7.x/6.x/5.x 系统中开启EPEL仓库支持,以便你可以使用 yum 命令 安装额外的标准开 ...

  2. RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)配置

    最新文章:Virson’s Blog CentOS默认自带CentOS-Base.repo源,但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版.Fedora自带的源中也找不到很多 ...

  3. RHEL/CentOS/Fedora各种源

    CentOS 默认自带 CentOS-Base.repo 源, 但官方源中去除了很多有版权争议的软件, 而且安装的软件也不是最新的稳定版. Fedora 自带的源中也找不到很多多媒体软件, 如果需要安 ...

  4. RHEL CentOS Fedora各种源介绍和安装

    CentOS默认自带CentOS-Base.repo源,但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版.   下面介绍各种第三方软件库,以下软件库适用于与RHEL完全兼容的li ...

  5. 基于CentOS设置和使用Yum软件仓库

    参考:How To Set Up and Use Yum Repositories on a CentOS 6 VPS 参考:CentOS yum 源的配置与使用 介绍 Yum仓库是Linux软件仓库 ...

  6. RHEL/CentOS 7最小化安装后需做的30件事情

    导读 CentOS是一个工业标准的Linux发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...

  7. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一)转载自码农网

    CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...

  8. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情7. 安装 PHP PHP 是用于 web 基础服务的服务器端脚本语言。它也经常被用作通用编程语言。在最小化安装的 CentOS 中安

    CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...

  9. 使用 ISO镜像配置 本地yum 源(RHEL, CentOS, Fedora等适用)

    使用 ISO镜像配置 本地yum 源(RHEL, CentOS, Fedora等适用)   1.上传ISO镜像和挂载 1) 上传Centos7.2 ISO镜像到 /usr/local/src目录 2) ...

随机推荐

  1. vim编辑器基本操作

    命令模式: 按(i)键进入编辑模式,将在光标前面插入: 按(I)键进入编辑模式,将在光标行首插入: 按(a)进入编辑模式,在光标后面插入: 按(A)键进入编辑模式,将在光标行末插入: 按(o)进入编辑 ...

  2. SQL Server中查找包含某个文本的存储过程

    SELECT name,text from sysobjects o,syscomments s where o.id=s.id and text LIKE '%text%' and o.xtype= ...

  3. 移动端html页面分享

    开发APP应用比开发移动端网页挑战小,因为APP应用只需要适配不同手机即可,而移动端网页不仅需要适配不同手机,还要适配同一部手机的不同浏览器. 移动端页面分享是一个常用的功能,需要宿主环境,可以是某A ...

  4. loj#2054. 「TJOI / HEOI2016」树

    题目链接 loj#2054. 「TJOI / HEOI2016」树 题解 每次标记覆盖整棵字数,子树维护对于标记深度取max dfs序+线段树维护一下 代码 #include<cstdio> ...

  5. bzoj2830: [Shoi2012]随机树

    题目链接 bzoj2830: [Shoi2012]随机树 题解 q1好做 设f[n]为扩展n次后的平均深度 那么\(f[n] = \frac{f[n - 1] * (n - 1) + f[n - 1] ...

  6. Python图形编程探索系列-07-程序登录界面设计

    设计任务 初步设计程序登录界面,详细分析设计步骤. 程序详细分析 基本框架设计 import tkinter as tk import tkinter.messagebox root = tk.Tk( ...

  7. Struts2返回json数据xml中配置

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-/ ...

  8. 10款免费开源PHP框架

    NO.1 Laravel - 巨匠级PHP开发框架 现在最流行的一款PHP框架,功能强大,学习和使用也非常简单方便,即使你是PHP新手,也不用担心入门问题. NO.2 Phalcon - 最快的PHP ...

  9. docker使用大全 tomcat安装

    um install docker #安装docker docker search tomcat docker pull docker.io/tomcat # 安装tomcat镜像 docker im ...

  10. error LNK1104:无法打开文件"lua51.lib"

    今天学习C++与Lua通信,遇到了问题:fatal error LNK1104: 无法打开文件“lua51.lib” 开发环境: VS2012 cocos版本:cocos2d-x-3.0 已经按书&l ...