Table of Contents#
- Pre-Requisite Setup
- Top 8 Third-Party Repositories
- Best Practices for Using Third-Party Repos
- Frequently Asked Questions
- References
Pre-Requisite Setup#
First, install core DNF tools to manage repositories and avoid dependency conflicts:
# Install DNF plugins for repo management
sudo dnf install dnf-plugins-core dnf-plugin-priorities -yThe dnf-plugin-priorities package lets you assign priority levels to repos to ensure default system packages are not overwritten unless explicitly requested. Most repos on this list require EPEL as a dependency, so we recommend installing EPEL first.
Top 8 Third-Party Repositories#
1. EPEL (Extra Packages for Enterprise Linux)#
What it is#
Maintained by the Fedora Project, EPEL is the de facto standard third-party repo for all RHEL-based systems. It hosts over 15,000 open-source packages built to be fully compatible with RHEL and its clones, with no changes to core system libraries.
Use Cases#
General-purpose tool installation, filling gaps in default repos for common sysadmin and end-user tools.
Supported Distros#
RHEL 7/8/9, Rocky Linux 8/9, AlmaLinux 8/9, CentOS Stream 8/9, Oracle Linux 8/9
Installation Steps#
# For RHEL 9 family
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y
# For RHEL 8 family
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -yKey Packages Offered#
htop, neofetch, ansible, certbot, fzf, ripgrep, tmux, nginx, python3-pip
Pros & Cons#
| Pros | Cons |
|---|---|
| 100% open source, officially maintained by Fedora | No proprietary or patent-encumbered packages |
| No compatibility conflicts with core system packages | Limited to open-source tools approved by Fedora packagers |
| Required dependency for most other third-party repos |
2. RPM Fusion#
What it is#
A community-maintained repo split into two branches:
- Free: Open-source packages excluded from default Fedora/RHEL repos for legal/patent reasons
- Nonfree: Proprietary firmware, drivers, and software with restricted licensing
Use Cases#
Installing multimedia codecs, media editing tools, games, and proprietary firmware.
Supported Distros#
RHEL 8/9, Rocky Linux 8/9, AlmaLinux 8/9, CentOS Stream 8/9, Fedora
Installation Steps#
Requires EPEL installed first
# For RHEL 9 family
sudo dnf install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm -y
# For RHEL 8 family, replace 9 with 8 in the URL aboveKey Packages Offered#
ffmpeg, libdvdcss, vlc, steam, obs-studio, handbrake, NVIDIA firmware, Discord
Pros & Cons#
| Pros | Cons |
|---|---|
| Most trusted source for media and patent-encumbered tools | Some packages may have patent restrictions in your region |
| All packages are GPG signed and actively maintained | Nonfree branch includes proprietary software, so verify licensing for production use |
3. REMI Repository#
What it is#
Maintained by long-time Fedora packager Remi Collet, REMI is focused exclusively on up-to-date web development stacks, with support for multiple concurrent versions of popular runtimes.
Use Cases#
Running modern web servers, accessing newer PHP/Python/Node.js versions not available in default repos.
Supported Distros#
RHEL 7/8/9, Rocky Linux 8/9, AlmaLinux 8/9, CentOS Stream 8/9
Installation Steps#
Requires EPEL installed first
# For RHEL 9 family
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
# For RHEL 8 family, replace 9 with 8 in the URL aboveEnable specific runtime versions with module commands, e.g:
# Enable PHP 8.3
sudo dnf module enable php:remi-8.3 -yKey Packages Offered#
PHP 5.4 to 8.3, Python 3.8 to 3.12, Node.js 16 to 20, Redis, PostgreSQL, MongoDB
Pros & Cons#
| Pros | Cons |
|---|---|
| Supports multiple concurrent runtime versions | Only focused on web development stacks, no general-purpose tools |
| Regular security patches and updates | Requires explicit module enabling to access non-default versions |
| No dependency conflicts when used as directed |
4. ELRepo#
What it is#
Short for Enterprise Linux Repository, ELRepo is focused exclusively on hardware support for RHEL-based systems, providing drivers, kernel modules, and firmware for new hardware not supported by the default RHEL kernel.
Use Cases#
Running RHEL derivatives on modern laptops/desktops with new Wi-Fi, GPU, or storage controllers.
Supported Distros#
RHEL 7/8/9, all RHEL clones
Installation Steps#
# Import official GPG key
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# For RHEL 9 family
sudo dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm -y
# For RHEL 8 family
sudo dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm -yKey Packages Offered#
NVIDIA graphics drivers, Realtek Wi-Fi drivers, Intel LAN drivers, kernel-ml (mainline Linux kernel), exFAT/NTFS3 filesystem drivers
Pros & Cons#
| Pros | Cons |
|---|---|
| Best source for hardware drivers for RHEL systems | Only provides hardware-related packages, no general software |
| Lightweight, no dependency bloat | Mainline kernel packages are not supported by Red Hat for production use |
5. COPR (Cool Other Package Repo)#
What it is#
Fedora’s community-driven build service, where any registered packager can build and host packages for RHEL-based systems. It is the RHEL equivalent of Arch Linux’s AUR, hosting niche and pre-release software not available in other repos.
Use Cases#
Installing niche hobbyist tools, pre-release dev software, or custom builds of popular packages.
Supported Distros#
RHEL 8/9, all RHEL clones, Fedora
Installation Steps#
You add individual COPR repos for specific packages (search for packages at copr.fedorainfracloud.org):
# Example: Install nightly Neovim from the trusted agriffis/neovim-nightly repo
sudo dnf copr enable agriffis/neovim-nightly -y
sudo dnf install neovim -yKey Packages Offered#
Custom window managers, pre-release dev tools, hobbyist software, alternative builds of popular packages
Pros & Cons#
| Pros | Cons |
|---|---|
| Vast library of niche software not available anywhere else | User-maintained, no official security audit |
| Packages are built automatically from public source code | Some repos are abandoned or may cause dependency conflicts |
6. MariaDB Official Repository#
What it is#
The official repository maintained by the MariaDB Foundation, providing the latest stable and LTS versions of the MariaDB database, far newer than the outdated versions shipped in default RHEL repos (RHEL 9 ships with MariaDB 10.5, while the latest LTS is 10.11).
Use Cases#
Database administration requiring modern MariaDB features, performance optimizations, and up-to-date security patches.
Supported Distros#
RHEL 8/9, all RHEL clones
Installation Steps#
# Run official repo setup script
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash
# Install MariaDB server
sudo dnf install MariaDB-server -yKey Packages Offered#
MariaDB Server, MariaDB Client, MariaDB Connectors, MaxScale (database proxy)
Pros & Cons#
| Pros | Cons |
|---|---|
| Official, up-to-date builds with long-term support | Only for MariaDB ecosystem tools |
| Optimized for performance and security | May conflict with default MariaDB packages if not removed first |
7. Docker CE Official Repository#
What it is#
The official repository from Docker Inc, providing the latest stable versions of Docker Community Edition, containerd, and Docker Compose, as an alternative to the default Podman container runtime shipped with RHEL.
Use Cases#
Running container workloads that require Docker-specific features, accessing the latest Docker Compose updates.
Supported Distros#
RHEL 8/9, all RHEL clones
Installation Steps#
# Remove old conflicting Docker packages
sudo dnf remove docker docker-client docker-common docker-engine -y
# Add official Docker repo
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Install Docker stack
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin -yKey Packages Offered#
docker-ce, docker-compose, containerd.io, docker-buildx
Pros & Cons#
| Pros | Cons |
|---|---|
| Official, regularly updated with all Docker features | Contains some proprietary components |
| Full support for Docker ecosystem tools | May conflict with Podman if not disabled first |
8. NVIDIA CUDA Official Repository#
What it is#
The official repository from NVIDIA, providing the latest proprietary graphics drivers, CUDA toolkit, and ML/AI libraries for NVIDIA GPUs.
Use Cases#
Running ML/AI workloads, GPU-accelerated computing, gaming, or video rendering on RHEL-based desktops/servers.
Supported Distros#
RHEL 8/9, all RHEL clones
Installation Steps#
# Add official CUDA repo for RHEL 9 x86_64
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
# Import GPG key
sudo rpm --import https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/D42D0685.pub
# Install NVIDIA driver and CUDA toolkit
sudo dnf install nvidia-driver cuda -yKey Packages Offered#
NVIDIA graphics driver, CUDA toolkit, cuDNN, TensorRT, NVIDIA Container Toolkit
Pros & Cons#
| Pros | Cons |
|---|---|
| Official, optimized for all recent NVIDIA GPUs | Fully proprietary software |
| Regular performance and security updates | Large download size, may conflict with open-source Nouveau drivers |
Best Practices for Using Third-Party Repos#
- Assign Repo Priorities: Add
priority=1to default system repos,priority=2to EPEL, andpriority=3to all other third-party repos in their.repofiles under/etc/yum.repos.d/to avoid unintended package overwrites. - Only Enable Repos You Need: Disable unused repos, and enable them temporarily when needed with
sudo dnf --enablerepo=remi install php-8.3. - Verify GPG Keys: Never disable GPG checks for repos, and only import keys from the official repo website.
- Test on Staging First: Always test third-party package updates on a non-production environment before deploying to live servers.
- Avoid Conflicting Repos: Never use two repos that provide the same package (e.g, MariaDB official repo and REMI’s MariaDB builds) as this will cause dependency hell.
Frequently Asked Questions#
Q: Can I use all 8 repos at the same time?#
A: Technically yes, but it is not recommended. Only add repos you actively use, and use the priority plugin to avoid conflicts.
Q: Are these repos safe for production use?#
A: EPEL, RPM Fusion, REMI, ELRepo, MariaDB, Docker, and NVIDIA repos are all widely used in production and audited. Only use COPR repos from trusted, actively maintained sources in production.
Q: How do I list all enabled repos?#
A: Run sudo dnf repolist enabled to see all active repos.
Q: How do I remove a third-party repo?#
A: Either delete the corresponding .repo file from /etc/yum.repos.d/, or run sudo dnf config-manager --disable <repo-id>.