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

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

查看系统版本:

 
 
 
 
 
Shell
 
1
lsb_release -a

此命令大部分主机上已安装, 会得到如下显示:
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, 还可以使用下面的命令.

 
 
 
 
 
Shell
 
1
head -1 /etc/issue

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

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

 
 
 
 
 
Shell
 
1
rpm -q centos-release

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

之后, 要确定系统架构.

 
 
 
 
 
Shell
 
1
uname -a

会得到如下显示:
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 就是此系统的架构.

 

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

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

添加 Remi 源

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

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

 
 
 
 
 
 
Shell
 
1
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

 

添加 RPMforge 源

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

 
 
 
 
 
 
Shell
 
1
rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

源添加完成, 也可按照 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

 
 
 
 
 
 
Shell
 
1
rpm -ivh 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.

 
 
 
 
 
 
Shell
 
1
rpm -ivh http://centos.alt.ru/pub/repository/centos/6/i386/centalt-release-6-1.noarch.rpm

 

 

添加 php 源

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

 
 
 
 
 
Shell
 
1
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

 

添加 Nginx 源

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

 
 
 
 
 
Shell
 
1
vi /etc/yum.repos.d/nginx.repo

输入以下内容

 
 
 
 
 
Shell
 
1
2
3
4
5
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/6/$basearch/
gpgcheck=0
enabled=1

保存退出

添加源之后更新 yum

 

 
 
 
 
 
Shell
 
1
yum clean all

 

 
 
 
 
 
Shell
 
1
yum update

 

 

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

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

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

 
 
 
 
 
Shell
 
1
yum install yum-priorities

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

 
 
 
 
 
 
Shell
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[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

 

至此, 源添加完成.