共计 2572 个字符,预计需要花费 7 分钟才能阅读完成。
转载请注明文章出处:https://tlanyan.me/yum-repos-…
CentOS 系统带有几个官方源,默认启用的仅有 base, updates 和 extras 三个。如果希望从源安装 Nginx,高版本的 gcc/PHP 等软件,则要导入提供软件包的第三方源。本文整理常见的第三方 yum 源,并以 CentOS 7 为例介绍其安装方法。
第三方 yum 源
1. EPEL
EPEL 是 Extra Packages for Enterprise Linux 的缩写,其为 EL6 或 EL7 提供重建的 Fedora 组件,并且不会替换 base 中的包。EPEL 算得上是最著名的第三方软件源,几乎各个云服务器厂商提供的 CentOS 系统均会自带该源并默认启用。其收录了 web 中常用的 Nginx 软件包。
EPEL 的官网是:http://fedoraproject.org/wiki…,可以通过 yum install -y epel-release
安装。
2. SCL
SCL 是 Software Collections 的缩写,由 CentOS 特别兴趣小组所维护。其收录了许多程序的新版本,例如 gcc, PHP, git, python 等。安装的软件可与旧版共存,包名多以 rh- 为前缀。
SCL 的官网是 https://www.softwarecollectio…,CentOS 7 的安装方法是:yum install centos-release-scl
。安装完成后在 /etc/yum.repos.d
目录下会出现 CentOS-SCLo-scl.repo 和 CentOS-SCLo-scl-rh.repo 两个文件。安装后源默认启用。
3. ELRepo
ELRepo 是 The Community Enterprise Linux Repository 的缩写,旨在提供驱动程序来增强系统的硬件支持(包括:显示、文件系统、硬件监控、网络、音效、网络摄像镜驱动程序)。也提供较新版的内核,例如支持 BBR 算法的 4.9+ 内核。
ELRepo 的官方是 http://elrepo.org/,CentOS 7 系统的安装方法是:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
安装完成后在 /etc/yum.repos.d
目录下出现 elrepo.repo 文件,可编辑文件中的 enable
的值启用具体仓库,也可在运行时用 --enablerepo="xxx"
指定使用的软件库。
4. IUS
IUS 的官网是 https://ius.io/,旨在为 RHEL 和 CentOS 提供高质量、最新版的软件,如 PHP, Python, MySQL 等。CentOS 7 安装该源的命令为:rpm -Uvh https://centos7.iuscommunity.org/ius-release.rpm
。
5. RPMfusion
RPMfusion 提供 Fedora Project 或 Red Hat 不愿发行的软件,包含“免费(开源软件)”和“非免费(源代码可公开获取但不开源且限非商业用途)”两种类型的仓库。
RPMfusion 的官网是 https://rpmfusion.org/,CentOS 7 的安装方法是:
# 免费库
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
# 非免费库
yum localinstall --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
6. Remi
Remi 维护大量组件,包括最新版的 PHP, GLPI 等。Remi 的 safe 仓库不会替代系统的基本组件,但 remi-phpxx.repo 中的软件包会替代系统默认的 php。需要注意的是 Remi 可能会与 IUS 的软件包冲突,因为双方都提供最新版的 PHP。
Remi 的官方网站是 http://rpms.remirepo.net/,CentOS 7 的安装方法是:yum install -y remi-release
。
Webtatic
提供较新版的 PHP、MySQL 及其它组件。建议用 IUS 或 SCL 代替。
软件官方维护的源
除上述收录多个软件包的综合源外,还有许多由软件官方维护的源,例如 Nginx, Gitlab, Nodejs 等。这些源的安装和使用方法请参考官方指南。
源管理
源的配置文件均位于 /etc/yum.repos.d
目录下,可用 vim, nano 等编辑器打开配置文件并编辑。
一些有用的源管理 yum 命令:
-
yum repolist
:列出所有启用的源, 等同于yum repolist enabled
; -
yum repolist disabled
:列出所有禁用的源; -
yum repoinfo [enabled|disabled]
:列出启用(禁用)源的更详细信息 -
yum --disablerepo="*" --enablerepo="xxxx" install/search
: 从指定源安装 / 搜索软件;“–disablerepo”和 ”–enablerepo” 选项可独立或配合使用,动态启用和禁用源。
国内镜像
因为某些原因,从位于境外的源镜像安装软件慢的让人抓狂。如果遇到了此种情形,建议使用代理,或者配置源的地址为国内镜像的地址。国内知名的 yum 源镜像站有:
- 阿里云,网址:https://opsx.alibaba.com/mirror
- 网易 163,网址:http://mirrors.163.com/
- 清华大学,网址:http://mirrors.tuna.tsinghua….
- 中科大,网址:http://mirrors.ustc.edu.cn/
- 浙大,网址:http://mirrors.zju.edu.cn/
具体仓库的配置方法请参考站内指南。需要注意的是并非所有的镜像都包含上述列出的 yum 源,本人推荐阿里云、清华大学、中科大镜像站。
参考
- https://wiki.centos.org/zh/Ad…