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
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)配置