entOS 的官方源去掉了一些与版权有关的软件,因此想要安装这些软件或者手动下载安装,或者使用其他源. 下面我推荐常用的两个源, 这两个源基本可以满足一般服务器的使用需求.

首先, 添加源之前要确定系统架构及版本.

查看系统版本:

此命令大部分主机上已安装, 会得到如下显示:
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch Distributor ID: CentOS Descripqion: CentOS release 5.3 (Final) Release: 5.3 Codename: Final

如果未安装 lsb_release, 还可以使用下面的命令.

会得到如下显示:
CentOS release 6.3 (Final)

如果是 CentOS 系统可直接使用以下命令:

会得到如下显示:
centos-release-6-3.el6.centos.9.i686

之后, 要确定系统架构.

会得到如下显示:
Linux jgh.localdomain 2.6.32-279.5.2.el6.i686 #1 SMP Thu Aug 23 22:16:48 UTC 2012 i686 i686 i386 GNU/Linux

i686, i386 就是此系统的架构.

知道了系统版本与架构,就可以在源中找到对应的文件导入.

这里介绍几个源, Remi, RPMforge , EPEL,  CentALT , webtatic , Nginx 如果你是使用的国内主机, 建议添加国内源, 如网易, 搜狐,中科大,中移动等等.

添加 Remi

Remi 源包含了众多软件, 它的更新速度很快. 很多新版本的软件都能第一时间在这里找到.进入 Remi 官网, 找到 Maintained Enterprise Linux (RHEL / CentOS / Other clones) 项

根据系统架构选择相应 release 文件


添加 RPMforge

首先到 RPMforge 网站找到使用帮助, 这里提供了不同操作系统的版本. 点击页面上的 CentOS wiki 转到 CentOS 官网(转一圈又绕回来了), 按照提示选相应的操作系统版本, 我的是 CentOS 6, 点一下跳转后看到了导入链接, 有两个, i686 和 x86_64 架构的. 我选 i686.

源添加完成, 也可按照 CentOS 网站上的说明, 分步添加.

添加 EPEL

进入网站往下拉, 找到 How can I use these extra packages? 项, 根据系统架构与版本选 EL6, 点击, 系统会根据来访ip查找最快的源镜像, 国内访问通常会转到搜狐与中科大的源.如果想用美国源, 就要使用代理访问, 我的返回 http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

添加 CentALT

进入网站, 在右边分类中找到 Ссылки, 虽然是俄文, 但也难不倒咱, 呵呵, 其实咱学生时代学的就是俄语, 不过全都还给老师了, 汗一个…… , 接下来就会看到 Репозиторий для CentOS 6, 这就是CentOS 6的库了, 如果你是 CentOS 5 那就选上一个, 如果你想自己去列表里找就点 Просмотр репозитория CentALT.

点击 Репозиторий для CentOS 6 查看内容, 拉到下边, 找到 Установка репозитория 那段, 再下面的内容你就该看得懂了, 下面有几个 rpm 包的链接, 先是给出了 EPEL 的源, 然后才给出 ALT 自己的. 找到你需要的导入. ok.

添加 php 源

进入 webtatic.com ,找到 CentOS/RHEL 6 源并添加.


添加 Nginx 源

进入 Nginx 官网 , 点右侧的 download 链接, 拉到最下面找到 Pre-Built Packages 项. 点 mainline version 版本的链接. 根据提示编辑 repo 文件的内容, 具体操作如下.
在 yum repo 目录创建新的 nginx.repo 文件

输入以下内容

保存退出

添加源之后更新 yum

最后,需要设置源的管理策略

如果你喜欢优先从某个源安装软件,那么建议安装 yum-priorities 插件

这个插件的作用是给多个源排定优先顺序, 当多个源中存在同一软件的时候, 软件会从优先级最高的源这装.

安装完后需要设置/etc/yum.repos.d/ 目录下的.repo相关文件(如CentOS-Base.repo),在这些文件中插入顺序指令:priority=N (N为1到99的正整数,数值越小越优先),例如:


至此, 源添加完成.