Redhat系列yum源介绍

CentOS 默认自带 CentOS-Base.repo 源,但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版。 Fedora 自带的源中也找不到很多多媒体软件,如果需要安装,必需先添加其他源,如 RPMFusion 和 RPMForge 等第三方软件库。

下面鹏叔来一一介绍各种第三方软件库,以下软件库适用于与 RHEL 完全兼容的 linux 发行版

1. EPEL 源

EPEL,即 Extra Packages for Enterprise Linux,是由 Fedora 社区创建维护,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。EPEL 中含有大量的软件,对官方标准源是一个很好的补充。

wiki: https://docs.fedoraproject.org/en-US/epel/

Fedora EPEL 下载:https://admin.fedoraproject.org/mirrormanager/

1.1. 安装 EPEL 源

针对各种不同的版本安装 EPEL 源:

EL9

CentOS Stream 9

1
2
3
4

dnf config-manager --set-enabled crb
dnf install epel-release epel-next-release

RHEL 9

1
2
3
4

subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

AlmaLinux 9, Rocky Linux 9

1
2
3
4

dnf config-manager --set-enabled crb
dnf install epel-release

EL8
CentOS Stream 8

1
2
dnf config-manager --set-enabled powertools
dnf install epel-release epel-next-release

RHEL 8

1
2
3
4

subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

AlmaLinux 8, Rocky Linux 8

1
2
dnf config-manager --set-enabled powertools
dnf install epel-release

EL7

RHEL 7

1
2
3
4
subscription-manager repos --enable rhel-*-optional-rpms \
--enable rhel-*-extras-rpms \
--enable rhel-ha-for-rhel-*-server-rpms
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

CentOS 7

1
2
3

yum install epel-release

2. REMI 源

REMI yum 源是一个包含最新版本 PHP 和 MySQL 包的 Linux 软件源,由 Remi 提供维护。使用这个源可以方便地通过 YUM 安装或更新 PHP、MySQL、phpMyAdmin 等服务器相关程序,是 Linux 系统管理员和开发者常用的 yum 仓库之一。

Remi 下载地址:https://rpms.remirepo.net/

2.1. 安装 REMI 源

最简单的方法是安装 remi release 包,该包提供 YUM/DNF 的存储库配置和用于签署 RPM 的 GPG 密钥。

Enterprise Linux 9 - x86_64

1
2
3

dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Enterprise Linux 8 - x86_64

1
2
3

dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Enterprise Linux 7 (with EPEL) x86_64

1
2
3
4
5
6

# REMI 依赖EPEL包
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm

for RHEL only

1
subscription-manager repos --enable=rhel-7-server-optional-rpms

Fedora 39 x86_64

1
dnf install https://rpms.remirepo.net/fedora/remi-release-39.rpm

Fedora 38 x86_64

1
dnf install https://rpms.remirepo.net/fedora/remi-release-38.rpm

Fedora 37 x86_64

1
dnf install https://rpms.remirepo.net/fedora/remi-release-37.rpm

2.2. REMI 源与其他 yum 源的兼容性

虽然 REMI repo 提供了许多有用的软件包,但与其他 repo 的兼容性可能需要额外的注意和管理。通过仔细规划和管理您的软件包安装和更新过程,您可以最大限度地减少潜在的问题。

在 Fedora 上,REMI 上可用的 RPM 主要使用来自 fedora 和 updates yum 源,有时来自 Rpmfusion yum 源。

在 RHEL 和 CentOS 上,依赖项位于 main 和 EPEL yum 源。不建议使用 Rpmforge yum 源(众所周知与 EPEL 的冲突)。

在 RHEL-6 上,必须启用 RHEL 服务器可选通道。

2.3. 安装 REMI 签名

如果使用包管理器(Yum 或 dnf),则不需要执行此步骤。YUM/DNF 将建议您在首次安装存储库 RPM 时自动安装它。

RPM 有效性检查要求在使用之前将密钥导入您的系统。下载GPG 密钥GPG 密钥 2017GPG 钥匙 2018GPG 关键字 2019GPG 密码 2020GPG 密匙 2021GPG 加密匙 2022GPG 破解匙 2023GPG 解密匙 2024,并使用以下软件安装所需软件:

1
2
3
4
5
6
7
8
9
10
11

rpm --import RPM-GPG-KEY-remi
rpm --import RPM-GPG-KEY-remi2017
rpm --import RPM-GPG-KEY-remi2018
rpm --import RPM-GPG-KEY-remi2019
rpm --import RPM-GPG-KEY-remi2020
rpm --import RPM-GPG-KEY-remi2021
rpm --import RPM-GPG-KEY-remi2022
rpm --import RPM-GPG-KEY-remi2023
rpm --import RPM-GPG-KEY-remi2024

3. RPM Fusion 源

RPMFusion 是一个为 Fedora、Red Hat Enterprise Linux (RHEL)及其衍生版本(如 CentOS 和 Scientific Linux)提供额外软件包的软件仓库,它包含了许多在默认仓库中不可用的开源软件,如音频和视频编解码器、图形软件等。。这个仓库包含了官方发行版中不可用的许多开源软件包,旨在扩展这些 Linux 发行版的功能。

RPMFusion 有两个主要的子仓库:free 和 non-free。

  • RPMFusion Free:这个子仓库包含了遵循自由软件许可证(如 GPL)的软件包。这些软件包是开源的,用户可以自由使用、修改和重新分发。RPMFusion Free 仓库提供了广泛的软件选择,包括音频和视频编解码器、图形软件、科学计算工具等。

  • RPMFusion Non-Free:这个子仓库包含了不遵循自由软件许可证的软件包,可能包括专有软件或受专利保护的编解码器。这些软件包通常不是开源的,但仍然非常有用,特别是对于那些需要特定功能(如商业软件的插件或驱动程序)的用户。

需要注意的是,由于 RPMFusion 提供了官方仓库之外的软件包,这些软件包可能没有经过与官方发行版相同的测试和验证过程。因此,在安装和使用 RPMFusion 中的软件包时,用户需要谨慎并确保它们与系统的其他组件兼容。此外,RPMFusion 仓库中的软件包可能不会受到官方发行版的支持和维护,因此在遇到问题时,用户可能需要依赖社区或软件包维护者提供的帮助。

RPMFusion 是一个非常有价值的资源,它扩展了 Fedora、RHEL 及其衍生版本的功能,使用户能够轻松安装和使用许多额外的开源和专有软件包。然而,在使用 RPMFusion 源时,用户需要了解其提供的软件包的许可证和兼容性,并愿意自行解决可能出现的问题。

RPMfusion 官网:https://rpmfusion.org/

3.1. 安装 RPM Fusion 源

要启用对免费和非免费存储库的访问,请使用以下命令:

Fedora with dnf:

1
2
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

在 Fedora 上,我们默认使用 openh264 库,因此您需要明确启用存储库:

1
2
3

sudo dnf config-manager --enable fedora-cisco-openh264

RHEL or compatible like CentOS

1
2
3

sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm

CentOS Steam 8 requires an additional step

1
sudo dnf config-manager --enable powertools

CentOS 8 (older version) used a case sensitive name for the PowerTools repository

1
sudo dnf config-manager --enable PowerTools

RHEL 8 requires an additional step

1
sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-$(uname -m)-rpms"

4. IUS (Inline with Upstream Stable) 源

IUS 源提供了许多与上游稳定版本保持一致的开源软件包,包括 PHP、Python、Nginx 等。如果你需要跟踪上游软件的最新版本,同时又想保持系统的稳定性,那么 IUS 源是一个不错的选择。

5. Nux Dextop

Nux Dextop repository:这个仓库提供了一些最新的桌面软件和开发工具,如 LibreOffice、GIMP 等。如果你需要在 RHEL 上使用最新的桌面应用程序,那么 Nux Dextop 源是一个很好的选择。

6. 查询安装包对应的 yum 源

有一些网站和工具可以帮助你查询安装包对应的 yum 源以及提供的版本。以下是一些常用的资源:

  • RPM Search:这是一个在线搜索 RPM 软件包的网站,你可以在上面搜索特定的软件包,并查看提供该软件包的不同 yum 源及其版本信息。

  • RPM Seek:这是一个提供 RPM 包搜索服务的网站。你可以在该网站上搜索特定的 RPM 软件包,并获取相关的下载链接和版本信息。

  • PKGS.org:这是一个综合性的软件包搜索网站,支持多种 Linux 发行版和包管理器,包括 RPM。你可以在该网站上搜索 RPM 软件包,并查看不同发行版中的软件包版本和可用性。

  • rpmfind.net 是一个提供 RPM 包搜索服务的网站。用户可以在该网站上搜索并查找特定的 RPM 软件包。该网站通常会索引多个不同的 RPM 仓库和软件源,以便用户能够找到他们所需的软件包。

  • Repoquery:这是一个在本地系统上查询 yum 源的软件包信息的工具。使用 repoquery,你可以查找特定软件包在哪个 yum 源中可用,以及该源提供的软件包版本。要使用 repoquery,你需要在终端中运行相应的命令,如 repoquery –whatprovides
    repoquery 是 yum 扩展工具包 yum-utils 中的一个工具,所有如果你没有 repoquery 命令的话,可以先 sudo yum install yum-utils 安装 yum-utils 包。

  • YUM Utils:这是一组额外的工具和程序,用于管理和维护 YUM 软件包安装器。其中一些工具,如 package-cleanup,可以帮助你查找并管理系统中安装的软件包及其版本。你可以使用 YUM Utils 来查询软件包在不同 yum 源中的可用性。

需要注意的是,具体的网站和工具可能会因 Linux 发行版和软件包管理器的不同而有所变化。对于基于 RHEL、CentOS 或 Fedora 的系统,上述资源通常适用。然而,对于其他发行版,你可能需要查找相应的资源或工具来查询软件包对应的 yum 源和版本信息。

另外,记得在使用第三方 yum 源时要谨慎,并确保其可信度和与你的系统版本兼容。在添加新的 yum 源之前,最好先在测试环境中进行验证,以确保稳定性和安全性。

7. 参考文档

RHEL/CentOS/Fedora 各种源(EPEL、Remi、RPMForge、RPMFusion)配置

作者

鹏叔

发布于

2023-04-16

更新于

2024-09-07

许可协议

评论