前面我们讲到了关于在 Rocky Linux 9 上启用 EPEL 和 REMI 仓库,今天我们再来讲一个仓库:RPM Fusion 仓库。
在这里我们来谈谈什么是 RPM Fusion 仓库,我们为什么要安装 RPM Fusion 仓库,最后如何在 Rocky Linux 中启用 RPM Fusion 仓库。
什么是 RPM Fusion 仓库
Fedora 项目严格遵守Fedora许可政策。由于以下原因,它从官方仓库中排除了一些包:
- 如果一个包是专用的,它就不能被包含在 Fedora 中;
- 如果一个包是闭源的,它就不能被包含在 Fedora 中;
- 如果一个包是受法律约束的,它就不能被包含在 Fedora 中;
- 如果软件包违反美国法律(特别是联邦或适用的州法律),则不能将其包含在 Fedora 中。
任何不符合上述政策的软件包将不会被收录到 Fedora 和 RHEL 的官方仓库中。这就需要创建一些具有自由许可政策的第三方仓库,而 RPM Fusion 就是这样的仓库。
RPM Fusion 是一个由社区维护的第三方软件仓库,它提供 Fedora 项目和 Red Hat 由于法律和其他各种原因而无法发布的软件包,如上所述。
RPM Fusion 仓库是在 Fedora、RHEL、Rocky Linux 等中安装必要的多媒体编解码器、专有软件和驱动程序的必备仓库。
RPM Fusion 免费和非免费仓库
RPM Fusion 有两个仓库,即:free
和nonfree
。该free
仓库包含由 Fedora 许可中定义的开源软件包。该nonfree
仓库包含:非开源的可再分发包、开源但标识有“禁止商业用途”限制的包。
您可以添加两个仓库,并在您的个人系统上同时使用它们。free
和nonfree
中的包之间不会有任何冲突。如果您只对运行免费包感兴趣,只需添加free
仓库即可。
安装 EPEL & EPEL Next 仓库
首先需要在 Rocky Linux 9 上安装 EPEL(企业 Linux 的额外软件包)仓库。
现在使用dnf
下面的命令,启用 EPEL 仓库:
# 安装 EPEL Repo
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
# 安装 EPEL Next Repo
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
或者,您可以使用以下命令在 Rocky Linux 9 上安装并启用EPEL仓库:
dnf install epel-release -y
在 Rocky Linux 9 上添加 RPM Fusion 仓库
启用 EPEL 仓库后,可以使用以下命令将 RPM Fusion 仓库添加至系统中。
# 免费仓库
dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm -y
# 非免费仓库:
dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm -y
# 验证是否安装成功
[root@localhost ~]# dnf repolist | grep rpmfusion
rpmfusion-free-updates RPM Fusion for EL 9 - Free - Updates
rpmfusion-nonfree-updates RPM Fusion for EL 9 - Nonfree - Updates
列出 RPM Fusion 中可用的包
请使用以下命令要列出 RPM Fusion 仓库中的可用包。
# 免费包
dnf repository-packages rpmfusion-free-updates list
# 非免费包
dnf repository-packages rpmfusion-nonfree-updates list
在 RPM Fusion 中搜索包
列出 RPM Fusion 仓库中的所有包可能会出现一个很长的列表,使得很难找到特定的包。为了简化这一点,您可以在仓库中搜索特定的包。
# 搜索 VirtualBox 相关软件包
[root@localhost ~]# dnf repository-packages rpmfusion-free-updates list | grep -i virtualbox
VirtualBox.x86_64 6.1.40-1.el9 rpmfusion-free-updates
VirtualBox-devel.x86_64 6.1.40-1.el9 rpmfusion-free-updates
VirtualBox-kmodsrc.noarch 6.1.40-1.el9 rpmfusion-free-updates
VirtualBox-server.x86_64 6.1.40-1.el9 rpmfusion-free-updates
VirtualBox-webservice.x86_64 6.1.40-1.el9 rpmfusion-free-updates
akmod-VirtualBox.x86_64 6.1.40-1.el9 rpmfusion-free-updates
kmod-VirtualBox.x86_64 6.1.40-1.el9 rpmfusion-free-updates
kmod-VirtualBox-5.14.0-70.el9_0.x86_64 6.1.40-1.el9 rpmfusion-free-updates
python3-VirtualBox.x86_64 6.1.40-1.el9 rpmfusion-free-updates
# 安装 VirtualBox-server
dnf install VirtualBox-server
禁用或启用 RPM Fusion 仓库
将来出于众所周知的原因,您可能需要禁用或启用添加的 RPM Fusion 仓库。
禁用 RPM Fusion 仓库
# 使用以下命令来禁用
dnf config-manager --set-disabled repository-ID
# 可以使用以下命令识别仓库ID
[root@localhost ~]# dnf repolist | grep rpmfusion
rpmfusion-free-updates RPM Fusion for EL 9 - Free - Updates
rpmfusion-nonfree-updates RPM Fusion for EL 9 - Nonfree - Updates
# 禁用免费仓库
dnf config-manager --set-disabled rpmfusion-free-updates
# 禁用非免费仓库
dnf config-manager --set-disabled rpmfusion-nonfree-updates
启用 RPM Fusion 仓库
要启用仓库,请使用以下命令:
# 启用免费仓库
dnf config-manager --set-enabled rpmfusion-free-updates
# 启用非免费仓库
dnf config-manager --set-enabled rpmfusion-nonfree-updates
删除(卸载)RPM Fusion 仓库
如果您想完全删除 Rocky Linux 9 上的 RPM Fusion 仓库,首先确定仓库名称并使用dnf remove
命令,如下所示:
# 免费仓库不能够单独删除,使用以下命令将删除免费和非免费两个仓库
dnf remove rpmfusion-free-release
# 删除非免费仓库
dnf remove rpmfusion-nonfree-release
今天就是这里了,我们已经了解了如何在 Rocky Linux 9 上启用 RPM Fusion 仓库。此外,我们还学习了如何从 RPM Fusion 仓库中查找和安装软件包以及禁用/卸载 RPM Fusion 仓库。