各仓库简介
EPEL、REMI 和 RPM Fusion 都是为 Red Hat Enterprise Linux(RHEL)和兼容发行版(如 Rocky Linux、AlmaLinux 等)提供额外软件包的主要第三方仓库。虽然它们都有为 RHEL 及其衍生版提供额外软件的相同目标,但在提供的软件种类和目标用户群方面存在差异。以下是这三个仓库的简单介绍:
EPEL
- 简介: EPEL(Extra Packages for Enterprise Linux)是由 Fedora 特别兴趣小组维护的项目,旨在提供高质量的附加软件包给企业 Linux,包括 RHEL 及其衍生发行版。
- 包含软件: 提供不在 RHEL 默认仓库中的额外软件包,但不会覆盖 Fedora 及其衍生项目已经提供或计划提供的软件包。所有包都是开源的,覆盖范围广泛,包括开发工具、系统工具、库等。
- 官方链接: EPEL
在 Rocky Linux 中,EPEL(Extra Packages for Enterprise Linux)源提供了许多额外的软件包,并提供了两种不同的 EPEL 源:epel-release
和 epel-next-release
,它们之间的区别是:
- epel-release:
- 这是标准的 EPEL 源,提供了经过充分测试和稳定的软件包。
- 适用于生产环境和需要高稳定性的系统。
- 主要面向当前稳定版的 RHEL(Red Hat Enterprise Linux)及其衍生版本(如 Rocky Linux 和 AlmaLinux)。
- epel-next-release:
- 这个源包含了针对未来版本或更新版本的 RHEL 及其衍生版的软件包。
- 主要目的是为那些希望在新特性发布之前进行测试或提前体验新功能的用户提供支持。
- 适用于开发者或希望尝试新功能但不一定在生产环境中使用的用户。
总结:epel-release
是为稳定性和生产环境设计的,而 epel-next-release
则是为开发和测试目的,包含了可能在未来版本中发布的软件包。选择使用哪一个源取决于您的需求。如果您需要稳定性和可靠性,建议使用 epel-release
;如果您需要新特性或想要参与测试,可以考虑 epel-next-release
。
EPEL 源:
- 官方源:Index of /pub/epel
- 清华大学源:Index of /epel
- 中国科技技术大学源:Index of /epel
具体配置参考:epel | 镜像站使用帮助
REMI
- 简介: REMI 是一个第三方的 RPM 仓库,为 Fedora、CentOS 和其它 RHEL 衍生版提供最新版本的软件包,尤其是针对 PHP 和其它 Web 应用程序相关的软件包。
- 包含软件: 提供了更新版本的 PHP 以及与 PHP 相关的模块和软件包,如:MySQL、Redis 等。这些包一般比官方仓库中的版本更新,是针对希望在生产系统上运行最新软件的用户的理想选择。
- 官方链接: REMI
REMI 源:
- 官方源: Remi’s RPM repository
- 清华大学源: Remi’s RPM repository
- 中国科技技术大学源:Remi’s RPM repository
具体配置参考:English : Repository Configuration – Remi’s RPM repository – Blog
RPM Fusion
- 简介: RPM Fusion 是一个由 Fedora 和 Red Hat 社区以及其他 Red Hat 衍生发行版用户支持的第三方软件仓库。它提供了对开源和专有软件的增强支持。
- 包含软件: 涵盖了自由和非自由(开源许可)软件包,特别是因为法律或政策原因而不能包含在 Fedora/RHEL 官方仓库中的软件。例如:RPM Fusion 中包含了许多有版权问题的编解码器、驱动程序、和工具如
ffmpeg
、VLC
、NVIDIA 驱动程序
等。 - 官方链接: RPM Fusion
在 RPM Fusion 中存在两个独立的软件仓库:
- free:包含开源软件(根据 Fedora 许可指南定义),由于其他原因 Fedora 项目无法提供这些软件。
- nonfree:包含可再发行但非开源的软件(根据 Fedora 许可指南定义);这包括那些有公开源代码但有“不可商业使用”类似限制的软件。
具体配置参考:Configuration – RPM Fusion
RPM Fusion 源:
- 官方源:RPM Fusion – RPM Fusion
- 清华大学源:Index of /rpmfusion/
- 中国科技技术大学源:Index of /rpmfusion/
总结
- EPEL 提供广泛的开源软件包,目的是为企业环境提供额外工具和开发库。
- REMI 主要专注于 Web 和数据库应用,特别是最新版本的 PHP 和其关联软件。
- RPM Fusion 更侧重于提供法律或版权限制的软件包,如编解码器和专用驱动。
启用各仓库
在 Rocky Linux 9 上启用 EPEL 仓库
在启用 REMI 和 RPM Fusion 仓库之前,需要先安装并启用 EPEL Repo。
# 安装 yum-utils
dnf install yum-utils
# AlmaLinux 8 & 9,Rocky Linux 8 & 9
dnf config-manager --set-enabled crb
dnf install epel-release epel-next-release
# 或者使用清华大学源直接安装
dnf install https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-9.noarch.rpm
dnf install https://mirrors.tuna.tsinghua.edu.cn/epel/epel-next-release-latest-9.noarch.rpm
# CentOS Stream 8 & 9
dnf config-manager --set-enabled crb
dnf install epel-release epel-next-release
# RHEL 8
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
# RHEL 9
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
dnf install https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
# 设置对应源为清华大学源
sed -e 's|^metalink=|#metalink=|g' \
-e 's|^#baseurl=|baseurl=|g' \
-e 's|https\?://download\.fedoraproject\.org/pub/epel|https://mirrors.tuna.tsinghua.edu.cn/epel|g' \
-e 's|https\?://download\.example/pub/epel|https://mirrors.tuna.tsinghua.edu.cn/epel|g' \
-i.bak /etc/yum.repos.d/epel{,-testing}.repo
# 禁用 epel-cisco-openh264.repo
sed -i "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel-cisco-openh264.repo
# 清除并重建缓存
dnf clean all
dnf makecache
注:由于无法同步,所有 EPEL 镜像站都不包含 EPEL Cisco OpenH264 仓库(epel-cisco-openh264.repo
),如果不需要可手动将其改为 enabled=0
。
在 Rocky Linux 上启用 Remi 仓库
# Rocky Linux 8 官方源
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# Rocky Linux 8 清华大学源
dnf install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-8.rpm
# Rocky Linux 9 官方源
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
# Rocky Linux 9 清华大学源
dnf install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-9.rpm
# 设置对应源为清华大学源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://rpms.remirepo.net|baseurl=http://mirrors.tuna.tsinghua.edu.cn/remi|g' \
-e 's|^baseurl=http://rpms.remirepo.net|baseurl=http://mirrors.tuna.tsinghua.edu.cn/remi|g' \
-i.bak /etc/yum.repos.d/remi*
# 清除并重建缓存
dnf clean all
dnf makecache
在 Rocky Linux 上启用 RPM Fusion 仓库
# Rocky Linux 8 官方源
dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
dnf install https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
# Rocky Linux 8 中科大源
dnf install https://mirrors.ustc.edu.cn/rpmfusion/free/el/rpmfusion-free-release-8.noarch.rpm
dnf install https://mirrors.ustc.edu.cn/rpmfusion/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
# Rocky Linux 9 清华大学源
dnf install https://mirrors.tuna.tsinghua.edu.cn/rpmfusion/free/el/rpmfusion-free-release-8.noarch.rpm
dnf install https://mirrors.tuna.tsinghua.edu.cn/rpmfusion/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
# Rocky Linux 9 官方源
dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
dnf install https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm
# Rocky Linux 9 中科大源
dnf install https://mirrors.ustc.edu.cn/rpmfusion/free/el/rpmfusion-free-release-9.noarch.rpm
dnf install https://mirrors.ustc.edu.cn/rpmfusion/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm
# Rocky Linux 9 清华大学源
dnf install https://mirrors.tuna.tsinghua.edu.cn/rpmfusion/free/el/rpmfusion-free-release-9.noarch.rpm
dnf install https://mirrors.tuna.tsinghua.edu.cn/rpmfusion/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm
# 设置对应源为中科大源
# 需要将文件中 metalink= 开头的行注释掉,取消 baseurl= 开头的行的注释并将等号后面链接中的 http://download1.rpmfusion.org 替换为 https://mirrors.ustc.edu.cn/rpmfusion
sed -e 's|^metalink=|#metalink=|g' \
-e 's|^#baseurl=http://download1.rpmfusion.org|baseurl=https://mirrors.ustc.edu.cn/rpmfusion|g' \
-i.bak \
/etc/yum.repos.d/rpmfusion*.repo
# 设置对应源为清华大学源
sed -e 's|^metalink=|#metalink=|g' \
-e 's|^#baseurl=http://download1.rpmfusion.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn/rpmfusion/|g' \
-i.bak \
/etc/yum.repos.d/rpmfusion*.repo
# 清除并重建缓存
dnf clean all
dnf makecache
查看仓库源
[root@localhost ~]# dnf repolist
repo id repo name
appstream Rocky Linux 9 - AppStream
baseos Rocky Linux 9 - BaseOS
crb Rocky Linux 9 - CRB
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
epel-next Extra Packages for Enterprise Linux 9 - Next - x86_64
extras Rocky Linux 9 - Extras
remi-modular Remi's Modular repository for Enterprise Linux 9 - x86_64
remi-safe Safe Remi's RPM repository for Enterprise Linux 9 - x86_64
rpmfusion-free-updates RPM Fusion for EL 9 - Free - Updates
rpmfusion-nonfree-updates RPM Fusion for EL 9 - Nonfree - Updates
remi-safe 的仓库为 PHP 提供额外的包,可以安全地与 RHEL/CentOS/Rocky Base 仓库一起使用,它所有依赖项都在 Base 或 EPEL 仓库中。
临时使用各仓库使用方法
这里以 remi 仓库安装 PHP 为例。
REMI SRPMS 下载地址: https://rpms.remirepo.net/SRPMS/ ,REMI 源中包含大量的 PHP 版本包,可供选择安装,非常方便。
# 查看具体源
[root@localhost ~]# ls -l /etc/yum.repos.d/ | grep remi
-rw-r--r-- 1 root root 2160 Sep 25 06:20 remi-modular.repo
-rw-r--r-- 1 root root 993 Sep 25 06:20 remi-safe.repo
-rw-r--r-- 1 root root 1743 Sep 25 06:20 remi.repo
# 列出 remi 仓库下所有可供安装的包
dnf --disablerepo="*" --enablerepo="remi" list available
dnf --disablerepo="*" --enablerepo="remi-safe" list available
# 这里以安装 php 包为例,使用 remi 仓库安装包,列出所有 php 包
dnf module list php
# 该命令安装 PHP 8.1 及其所有依赖项
dnf module install php:remi-8.1
# 通过 remi 仓库启用或禁用包
# 启用 php remi-8.1
dnf module enable php:remi-8.1 -y
# 禁用 php remi-8.1
dnf module disable php:remi-8.1 -y
更新记录
- 2024-08-26
- 新增 EPEL 及 Remi 国内源。
- 拆分 Rocky Linux 8 & 9 EPEL 及 Remi 源安装命令。
- 新增
epel-next-release
源安装与配置说明。
- 2024-09-25
- 新增 RPM Fusion 源。