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 就是此系统的架构.

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

这里介绍几个源, ​​Remi​​, ​​RPMforge​​ , ​​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


至此, 源添加完成.