CentOS 的官方源去掉了一些与版权有关的软件,因此想要安装这些软件或者手动下载安装,或者使用其他源. 下面我推荐常用的两个源, 这两个源基本可以满足一般服务器的使用需求.
首先, 添加源之前要确定系统架构及版本.
查看系统版本:
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, 还可以使用下面的命令.
1 |
head -1 /etc/issue |
会得到如下显示:
CentOS release 6.3 (Final)
如果是 CentOS 系统可直接使用以下命令:
1 |
rpm -q centos-release |
会得到如下显示:
centos-release-6-3.el6.centos.9.i686
之后, 要确定系统架构.
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 文件
1 |
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm |
添加 RPMforge 源
首先到 RPMforge 网站找到使用帮助, 这里提供了不同操作系统的版本. 点击页面上的 CentOS wiki 转到 CentOS 官网(转一圈又绕回来了), 按照提示选相应的操作系统版本, 我的是 CentOS 6, 点一下跳转后看到了导入链接, 有两个, i686 和 x86_64 架构的. 我选 i686.
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
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.
1 |
rpm -ivh http://centos.alt.ru/pub/repository/centos/6/i386/centalt-release-6-1.noarch.rpm |
添加 php 源
进入 webtatic.com ,找到 CentOS/RHEL 6 源并添加.
1 |
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm |
添加 Nginx 源
进入 Nginx 官网 , 点右侧的 download 链接, 拉到最下面找到 Pre-Built Packages 项. 点 mainline version 版本的链接. 根据提示编辑 repo 文件的内容, 具体操作如下.
在 yum repo 目录创建新的 nginx.repo 文件
1 |
vi /etc/yum.repos.d/nginx.repo |
输入以下内容
1 2 3 4 5 |
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/6/$basearch/ gpgcheck=0 enabled=1 |
保存退出
添加国内镜像源
添加网易163源
访问 http://mirrors.163.com/
找到 CentOS 系统, 点击右边的 centos使用帮助
找到 CentOS 7 项, 复制链接地址
进入系统 yum 目录, 下载 repo 文件
1 2 3 |
cd /etc/yum.repos.d wget http://mirrors.163.com/.help/CentOS7-Base-163.repo yum update |
添加阿里源
访问 http://mirrors.aliyun.com/
找到 CentOS 系统, 点击右边的 help
按提示下载 CentOS 7 项的 repo 文件, 注意不要直复制它的命令, 会覆盖官方源.
1 2 |
wget http://mirrors.aliyun.com/repo/Centos-7.repo yum update |
添加源之后更新 yum
1 |
yum clean all |
1 |
yum update |
最后,需要设置源的管理策略
如果你喜欢优先从某个源安装软件,那么建议安装 yum-priorities 插件
这个插件的作用是给多个源排定优先顺序, 当多个源中存在同一软件的时候, 软件会从优先级最高的源这装.
1 |
yum install yum-priorities |
安装完后需要设置/etc/yum.repos.d/ 目录下的.repo相关文件(如CentOS-Base.repo),在这些文件中插入顺序指令:priority=N (N为1到99的正整数,数值越小越优先),例如:
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 |
至此, 源添加完成.