RHEL-based systems have the YellowDog Updater Modified (YUM) repository for installing, updating, querying, and managing software packages by default. However, there are additional packages that are not available on the system by default and developers use them. To curb this issue, there are a number of external repositories that can be enabled to allow installing these extra packages on the system. These packages are mainly programming languages that are up to date. These repositories include EPEL, REMI, RPM Fusion, Webtactic, and NUX-dextop.

RPMFusion is a software repository that provides additional packages that are not distributed by the Fedora Project. It is a community-maintained repository that provides software as precompiled RPMs for all Fedora versions and current Red Hat Enterprise Linux versions. The RPM Fusion repositories can be used with yum tools.

There are two types of repo under RPM Fusion

  • RPM Fusion Free – This contains open-source packages
  • RPM Fusion Non-Free – This contains Software without Open-source software Licensing but with free source code.

This guide shows you how to enable the RPM Fusion repository on CentOS 9|AlmaLinux 9|RHEL 9

Enable RPM Fusion on CentOS 9 / AlmaLinux 9 / RHEL 9

Enable EPEL repository first. If you haven’t, follow the steps on how to Enable EPEL Repository on CentOS 9|AlmaLinux 9|RHEL 9.

After enabling the EPEL repo, Install RPM Fusion Free with the following command.

sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm

For RPM Fusion Non-Free, use the following command.

sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm

Install Code-Ready Builder for Linux.

## CentOS, AlmaLinux ##
sudo dnf config-manager --enable crb

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

Check if RPM Fusion is active using the following command.

$ sudo dnf repolist rpmfusion-*
repo id                                                     repo name                             status
rpmfusion-free-updates                             RPM Fusion for EL 9 - Free - U enabled
rpmfusion-free-updates-debuginfo              RPM Fusion for EL 9 - Free - U disabled
rpmfusion-free-updates-source                   RPM Fusion for EL 9 - Free - U disabled
rpmfusion-free-updates-testing                   RPM Fusion for EL 9 - Free - T disabled
rpmfusion-free-updates-testing-debuginfo    RPM Fusion for EL 9 - Free - T disabled
rpmfusion-free-updates-testing-source         RPM Fusion for EL 9 - Free - T disabled

To check for only the enabled repositories, use the following command

$ sudo dnf repolist enabled
repo id                  repo name
appstream                CentOS Stream 9 - AppStream
baseos                   CentOS Stream 9 - BaseOS
crb                      CentOS Stream 9 - CRB
epel                     Extra Packages for Enterprise Linux 9 - x86_64
epel-next                Extra Packages for Enterprise Linux 9 - Next - x86_64
extras-common            CentOS Stream 9 - Extras packages
rpmfusion-free-updates   RPM Fusion for EL 9 - Free - Updates

To list all the packages available from the RPM Fusion repo, use the following command.

sudo dnf --enablerepo=rpmfusion-* list available | more

To search for a package from the RPM Fusion repo.

$ sudo dnf --enablerepo=rpmfusion-* list nginx
Available Packages
nginx.x86_64                      1:1.20.1-10.el9                      appstream

To install a package from the RPM Fusion repo.

$ sudo dnf --enablerepo=rpmfusion-* install nginx
Running transaction
  Preparing        :                                                        1/1 
  Running scriptlet: nginx-filesystem-1:1.20.1-10.el9.noarch                1/3 
  Installing       : nginx-filesystem-1:1.20.1-10.el9.noarch                1/3 
  Installing       : centos-logos-httpd-90.4-1.el9.noarch                   2/3 
  Installing       : nginx-1:1.20.1-10.el9.x86_64                           3/3 
  Running scriptlet: nginx-1:1.20.1-10.el9.x86_64                           3/3 
  Verifying        : centos-logos-httpd-90.4-1.el9.noarch                   1/3 
  Verifying        : nginx-1:1.20.1-10.el9.x86_64                           2/3 
  Verifying        : nginx-filesystem-1:1.20.1-10.el9.noarch                3/3 

Installed:
  centos-logos-httpd-90.4-1.el9.noarch         nginx-1:1.20.1-10.el9.x86_64     
  nginx-filesystem-1:1.20.1-10.el9.noarch

To check if a package is installed from the RPMFusion repo

$ sudo dnf --enablerepo=rpmfusion-* info nginx
Name         : nginx
Epoch        : 1
Version      : 1.20.1
Release      : 10.el9
Architecture : x86_64
Size         : 1.7 M
Source       : nginx-1.20.1-10.el9.src.rpm
Repository   : @System
From repo    : appstream
Summary      : A high performance web server and reverse proxy server
URL          : https://nginx.org
License      : BSD
Description  : Nginx is a web server and a reverse proxy server for HTTP, SMTP,
             : POP3 and IMAP protocols, with a strong focus on high concurrency,
             : performance and low memory usage.

To enable App stream data provided by the RPM Fusion software repositories, use the following command.

$ sudo dnf group update core
Upgraded:
  NetworkManager-1:1.39.6-1.el9.x86_64                                          
  NetworkManager-adsl-1:1.39.6-1.el9.x86_64                                     
  NetworkManager-bluetooth-1:1.39.6-1.el9.x86_64                                
  NetworkManager-libnm-1:1.39.6-1.el9.x86_64                                    
  NetworkManager-team-1:1.39.6-1.el9.x86_64                                     
  NetworkManager-tui-1:1.39.6-1.el9.x86_64                                      
  NetworkManager-wifi-1:1.39.6-1.el9.x86_64                                     
  NetworkManager-wwan-1:1.39.6-1.el9.x86_64                                     
  grubby-8.40-56.el9.x86_64                                                     
  kernel-tools-5.14.0-109.el9.x86_64                                            
  kernel-tools-libs-5.14.0-109.el9.x86_64                                       
  kexec-tools-2.0.24-3.el9.x86_64                                               
  less-590-1.el9.x86_64                                                         
  libselinux-3.4-2.el9.x86_64                                                   
  libselinux-utils-3.4-2.el9.x86_64                                             
  parted-3.5-1.el9.x86_64                                                       
  python3-libselinux-3.4-2.el9.x86_64                                           
  selinux-policy-34.1.34-1.el9.noarch                                           
  selinux-policy-targeted-34.1.34-1.el9.noarch                                  

Complete!

Enabling RPM Fusion using GUI

RPM Fusion can also be enabled via Graphical Applications instead of Command-Line utilities. To do this visit the RPM Fusion Configuration page to download the RPM Fusion free for the Fedora version.

Open with the software Install Application.

Open the file using the Software Install Application and click on Install.

Uninstall RPM Fusion on CentOS 9|AlmaLinux 9|RHEL 9

To uninstall all RPM Fusion use the following command.

$ rpm -qa 'rpmfusion*'

To remove the free RPM Fusion.

sudo dnf remove rpmfusion-free-release -y

To remove the non-free RPM Fusion.

sudo dnf remove rpmfusion-nonfree-release -y

Conclusion

From this guide, we have enabled RPM Fusion Repo on CentOS 9|AlmaLinux 9|RHEL 9. We have also seen how to enable RPM Fusion using GUI. RPM Fusion offers loads of software that are not available from the official RHEL repo.

Similar article:

LEAVE A REPLY

Please enter your comment!
Please enter your name here