系统极客一直在努力
专注操作系统及软件使用技能

EPEL 软件源详解:如何在 Linux 上的安装和使用

EPEL Logo

在使用基于 Red Hat Enterprise Linux (RHEL) 的 Linux 发行版,如 AlmaLinux、Rocky Linux、Oracle Linux 或 CentOS Stream 时,你可能会遇到一些软件在官方软件源中找不到的情况。这时,EPEL 软件源就派上用场了。EPEL 提供了丰富的额外软件包,可以满足你的各种需求。

那么,EPEL 软件源到底是什么呢?接下来,本文将为你揭开 EPEL 仓库的神秘面纱,以及如何在企业级 Linux 上安装和使用它。

什么是 EPEL 仓库

  • EPEL 是「Extra Packages for Enterprise Linux」的缩写,代表「企业版 Linux 的额外软件包」。这是一个由 Fedora 特别兴趣小组 (SIG) 维护的软件源,并由一群 Red Hat 工程师和社区成员发起和贡献。
  • EPEL 仓库中的软件包基于 RHEL 构建,专为 RHEL 衍生版本(如 AlmaLinux、Rocky Linux 和 Oracle Linux 等)提供高质量的附加软件包。
  • EPEL 的目标是通过提供官方软件源中未包含但日常需要的软件包,让 Fedora 丰富的软件包集合在企业环境中蓬勃发展。
  • 在 RHEL 8 及其衍生版本中,提供了「标准 EPEL」和「EPEL Next」软件包仓库,后者提供了更新版本的软件包,适合开发者和早期使用。
  • 在 RHEL 9 及其衍生版本中,「EPEL Next」已经合并到 EPEL 中,你可以直接从 EPEL 获取最新版本的软件包。

第 1 步:配置 EPEL 软件源

1.1 查看 Linux 版本

在配置 EPEL 软件源之前,请注意以下几点:

  • EPEL 软件源有版本号,如 8 和 9,分别对应 RHEL 8 和 9 的衍生版本。每个版本的 EPEL 都专为对应的 RHEL 衍生版本量身定制,以确保与该版本的库、软件和依赖项兼容。
  • EPEL 8 适用于 RHEL 8 及其衍生版本,如 CentOS Stream 8、AlmaLinux 8、Rocky Linux 8 和 Oracle Linux 8。
  • EPEL 9 适用于 RHEL 9 及其衍生版本,如 CentOS Stream 9、AlmaLinux 9、Rocky Linux 9 和 Oracle Linux 9。

如果你在基于 RHEL 8 的 Linux 上使用 EPEL 9 软件包(或反之),可能会导致软件无法正常工作,甚至引发系统问题。

你可以在「终端」中执行以下命令,来查看当前 Linux 企业版的主要版本:

cat /etc/os-release | grep VERSION_ID | cut -d '"' -f 2 | cut -d '.' -f 1
查看 RHEL 及衍生版本的代数
查看 RHEL 及衍生版本的代数

1.2 添加 EPEL 软件源

1.2.1 对于 CentOS、Rocky Linux 和 AlmaLinux

1可以直接使用以下命令,安装 EPEL 仓库:

sudo dnf install epel-release
在 RHEL 衍生版本上添加 EPEL 仓库
在 RHEL 衍生版本上添加 EPEL 仓库

在 RHEL 9 衍生版本中,EPEL Next 已经合并到 EPEL 中,不再需要单独安装。

2(可选)为 RHEL 8 衍生版本安装 EPEL Next 软件源,以获取新版本软件:

sudo dnf install epel-next-release

3(可选)启用开发者仓库:

PowerTools (RHEL 8) 或 CodeReady Builder (RHEL 9) 仓库,对于软件开发者来说是一个非常重要的资源,提供了额外的开发工具和库,包含了用于软件开发、编译和打包的各种组件。

# 启用 PowerTools 仓库
dnf config-manager --set-enabled powertools #适用于 RHEL 8 及其衍生版本

# 启用 CodeReady Builder 仓库
dnf config-manager --set-enabled crb #适用于 RHEL 9 及其衍生版本

1.2.2 对于 Oracle Linux

1需要添加由 Oracle 官方维护的专用 EPEL 仓库:

sudo dnf install oracle-epel-release-el8 #适用于 Oracle Linux 8
sudo dnf install oracle-epel-release-el9 #适用于 Oracle Linux 9
在 Oracle Linux 上添加 EPEL 仓库
在 Oracle Linux 上添加 EPEL 仓库

2按你的实际需求,启用可选 EPEL 仓库:

# 启用 CodeReady Builder 仓库
sudo dnf config-manager --enable ol8_developer_EPEL #适用于 Oracle Linux 8
sudo dnf config-manager --enable ol9_codeready_builder #适用于 Oracle Linux 9

# 启用 Developer EPEL 仓库(默认)
sudo dnf config-manager --enable ol8_developer_EPEL #适用于 Oracle Linux 8
sudo dnf config-manager --enable ol9_developer_EPEL #适用于 Oracle Linux 9

# 启用 Distro Builder 仓库
sudo dnf config-manager --enable ol8_distro_builder #适用于 Oracle Linux 8
sudo dnf config-manager --enable ol9_distro_builder #适用于 Oracle Linux 9

1.3 验证添加

安装完成后,EPEL 仓库一般会自动启用,你可以通过以下命令验证添加:

sudo dnf repolist
在 RHEL 衍生版本上验证 EPEL 仓库
在 RHEL 衍生版本上验证 EPEL 仓库
在 Oracle Linux 上验证 EPEL 仓库

1.4 更换国内源

Oracle 由官方维护 EPEL 仓库,不适用更换国内源。

国内云计算大厂和高校都有建立自己的 EPEL 镜像,以加快软件包在国内的分发和下载速度,提高软件安装效率。你可以按需要参考他们的官方文档来更换国内源,例如:

这些镜像站点提供了详细的配置步骤,帮助你轻松更换 EPEL 国内源,以获得更快的下载速度。

第 2 步:使用 EPEL 软件源

  • 通过 EPEL 仓库安装软件与其他软件包一样简单,只需使用以下命令即可:
dnf install [package_name]

例如,如果你要安装 htop(一个交互式的进程查看器),但它在官方软件源中找不到,你可以使用以下命令从 EPEL 软件源安装:

sudo dnf install htop
通过 EPEL 软件源安装应用
通过 EPEL 软件源安装应用
  • 那要如何知道 EPEL 软件源中提供了哪些软件包呢?这很简单!通过以下命令即可查看所有可用的软件包完整列表:
dnf repository-packages epel list
列出 EPEL 仓库提供的软件包
列出 EPEL 仓库提供的软件包
  • 如果你想查看哪些软件包是从 EPEL 软件源安装的,可以使用以下命令:
dnf repository-packages epel list installed
列出通过 EPEL 安装的软件包
列出通过 EPEL 安装的软件包

第 3 步:关闭或移除 EPEL 软件源

为了避免潜在的软件冲突、减少系统更新时的软件包数量,或提高系统的安全性,你可能需要在某些情况下禁用或移除 EPEL 软件源。此时,可以按以下步骤操作:

  • 通过以下命令打开或关闭 EPEL 软件源:
sudo dnf config-manager --set-disabled epel #禁用 EPEL 软件源
sudo dnf config-manager --set-enabled epel #启用 EPEL 软件源
  • 要彻底从系统中移除 EPEL 软件源,可以卸载 EPEL 软件包:
#对于 CentOS、Rocky Linux 和 AlmaLinux
sudo dnf remove epel-release #适用于 RHEL 9 衍生版本
sudo dnf remove epel-next-release #适用于 RHEL 8 衍生版本

#对于 Oracle Linux
sudo dnf remove oracle-epel-release-el8 #适用于 Oracle Linux 8
sudo dnf remove oracle-epel-release-el9 #适用于 Oracle Linux 9

EPEL 软件源是 RHEL 及其衍生版本的重要补充,它提供了许多常用软件包,方便用户进行软件安装和管理。本文介绍了 EPEL 的基本概念、安装方法和使用方法,希望能够帮助你更好地使用 EPEL。

赞(1) 赞赏

评论 抢沙发

微信赞赏