大多数人都知道Fedora是Red Hat Enterprise Linux RHEL主要的上游版本。您可能还会注意到,红帽Red Hat为RHEL提供的软件比您在Fedora中发现的软件要少得多。

还有一点需要提及的是,大家都知道CentOS是基于红帽Linux Red Hat Enterprise Linux RHEL构建的Linux发行版。因此,CentOS仓库/存储库提供的软件和红帽Linux是一样的。

CentOS仓库/存储库提供的软件只是Red Hat Enterprise Linux RHEL存储库的镜像。我们能看到是,当使用yum/dnf安装软件时不再是RHEL存储库的地址。

如果您是CentOS/Fedora用户,并且还希望在您的CentOS/Fedora工作站上使用ImageMagick或Chromium,你可能想到EPEL仓库/存储库。

什么是 EPEL

RHEL只提供您在Fedora Linux中可以找到软件包的一个子集。这是有原因的,因为 Fedora中有很多软件在企业环境中不需要或者不在RHEL的维护范围内。

Red Hat在RHEL中维护和支持软件的时间远远超过了Fedora版本的生命周期,Red Hat只选择了一些认为对客户的部署和使用RHEL来运行其工作负载所必需的软件。

于是,EPEL便应运而生。EPEL的全称是Extra Packages for Enterprise Linux,也是Fedora项目的一个兴趣小组SIG,它为Fedora/RHEL/CentOS提供一组附加的软件。

要将一个软件放入EPEL仓库,它必须首先在Fedora中可用。EPEL遵循Fedora打包指南以确保成功集成,并且仅包含不受专利保护的自由和开源软件。

所以你不会在 EPEL中找到任何专有软件或受专利限制的多媒体编解码器之类的软件,即使启用它们的软件是在开源许许可下。

Red Hat不支持EPEL中的软件,也不为CVE的错误修复或补丁提供任何SLA。EPEL 中的软件也有可能在单个RHEL版本存在与消失。更新可能需要管理员干预。

因此CentOS Linux跟RHEL一样。默认不启用EPEL中的软件。CentOS不会企业级软件。更不会去维护自己独立软件仓库。

但这并不意味着EPEL在您的环境中没有一席之地,只是您应该考虑是否需要启用EPEL。

现在已经知道什么是EPEL,接下来将向您说明如何启用EPEL仓库在CentOS。请确保您以root或者具有sudo权限的用户登录

在本教程中,说明如何启用EPEL仓库在CentOS。使用yum命令安装epel-releaseyum repolist命令列车所有仓库列表,验证EPEL仓库/存储库是否启用成功,在Red Hat,CentOS 6/7/8,Oracle Linux,Amazon Linux和Scientific Linux启用EPEL仓库。

启用EPEL

在CentOS Linux上启用EPEL存储库是一个非常简单的任务。你只需要使用yum命令安装epel-release软件包即可。因为CentOS Extras存储库中包含了启用EPEL的RPM包

运行以下yum install命令安装epel-release,以启用EPEL仓库:

sudo yum install epel-release

epel-release安装完成后。你可通过列出CentOS Linux中所有可用的仓库/存储库来验证是否已启用EPEL存储库/仓库。

yum repolist命令可列出所有仓库/存储库的列表。请运行以下yum repolist命令将列出CentOS Linux的存储库。

sudo yum repolist

该命令将显示启用的存储库ID,仓库的名称和软件的数量。如果你已经成功启用EPEL仓库,输出中将会包含EPEL仓库的的ID。

在我们的示例中如下所示,你将会注意EPEL已经包含在命令的输出中:

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...
repo id             repo name                                         status
base/7/x86_64       CentOS-7 - Base                                   10,019
epel/x86_64         Extra Packages for Enterprise Linux 7 - x86_64    12,912
extras/7/x86_64     CentOS-7 - Extras                                    371
updates/7/x86_64    CentOS-7 - Updates                                 1,098
repolist: 24,400

至此,您的CentOS系统上已启用EPEL存储库。

启用EPEL存储库在RHEL

该方法适用于基于RHEL的的所有发行版,包括Red Hat,CentOS 6/7/8,Oracle Linux,Amazon Linux和Scientific Linux。

在基于RHEL的Linux发行版启用EPEL存储库也是简单一个的任务。你只需要使用yum命令安装epel-release软件包。

但这次不同的时,安装epel-release软件包时,需要包含当前Linux发行版的名称。发行版的名称可以通过rpm -E '%{rhel}'命令获取。

运行以下yum命令启用EPEL存储库,该命令将下载并安装epel-release的RPM包:

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E '%{rhel}').noarch.rpm

结论

有关EPEL信息库的更多信息,请参见EPEL文档。如有任何疑问,请随时发表评论。