Rocky Linux keeps its base repositories conservative, so everyday server tools such as fail2ban, htop, btop, and nvtop often come from EPEL instead. To install EPEL on Rocky Linux cleanly, enable the matching development repository first, then install the epel-release package from Rocky Extras or Fedora’s EPEL permalink.
EPEL, short for Extra Packages for Enterprise Linux, is maintained by the Fedora Project and provides add-on packages for RHEL-compatible systems. Rocky Linux 10 and 9 use CRB (CodeReady Builder) for many EPEL dependencies, while Rocky Linux 8 uses PowerTools.
These steps apply to Rocky Linux 10 (Red Quartz), Rocky Linux 9 (Blue Onyx), and Rocky Linux 8 (Green Obsidian). Rocky Linux 8 remains supported for maintenance updates, so older servers can still use the matching EPEL 8 branch.
Install EPEL on Rocky Linux
Quick EPEL Install Commands for Rocky Linux
Start with the system update step and review DNF’s transaction before confirming it:
sudo dnf upgrade --refresh
Commands that start with
sudoneed an administrator account. DNF shows the package list before it changes the system, so review the transaction before confirming the prompts.
After the update finishes, run the version-aware EPEL setup block:
source /etc/os-release
case "$VERSION_ID" in
10*|9*)
epel_dependency_repo=crb
;;
8*)
epel_dependency_repo=powertools
;;
*)
echo "Unsupported Rocky Linux version: $VERSION_ID"
epel_dependency_repo=
;;
esac
if [ -n "$epel_dependency_repo" ]; then
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --set-enabled "$epel_dependency_repo"
sudo dnf install -y epel-release
fi
The -y flags in the quick setup block auto-confirm the repository-tool and release-package installs after you have already reviewed the system update transaction.
The quick path uses DNF4-style repository commands because Rocky Linux 10 still uses the DNF4 config-manager workflow for this task. Fedora DNF5 examples such as dnf config-manager setopt or dnf5 config-manager do not apply to Rocky Linux 10, 9, or 8.
Choose the EPEL Install Method on Rocky Linux
Two installation paths are available. The DNF package method is the best fit for most systems because Rocky Linux publishes epel-release through the enabled Extras repository.
| Method | Source | Best Fit | Update Behavior |
|---|---|---|---|
| DNF package | Rocky Linux Extras | Normal Rocky Linux servers, desktops, and minimal installs with Extras enabled | Managed by DNF with the rest of the system |
| Direct RPM fallback | Fedora EPEL permalink | Custom images, containers, or systems where Extras is disabled or unavailable | Installs the same repository package, then DNF manages updates |
Do not enable EPEL Next on Rocky Linux. EPEL Next targets CentOS Stream rebuild needs, while normal Rocky Linux systems should use the standard EPEL repository.
Run EPEL Setup Step by Step
Use the step-by-step path when you want to review each stage separately. Refresh package metadata and apply available system updates before adding a new repository:
sudo dnf upgrade --refresh
Install dnf-plugins-core if your system does not already include it. This package provides dnf config-manager, which toggles CRB and PowerTools repository states.
sudo dnf install dnf-plugins-core
Enable CRB or PowerTools for EPEL Dependencies
The Rocky Linux repository reference lists CRB for Rocky Linux 10 and 9, and PowerTools for Rocky Linux 8. EPEL itself can install without these repositories, but many EPEL packages need libraries from them.
Check Your Rocky Linux Version
Confirm the major version before you enable the matching repository:
cat /etc/rocky-release
Example output on Rocky Linux 10:
Rocky Linux release 10.1 (Red Quartz)
Enable CRB on Rocky Linux 10 or 9
Enable CRB on Rocky Linux 10 or 9 with config-manager:
sudo dnf config-manager --set-enabled crb
Verify that CRB is now visible in the enabled repository list:
dnf repolist | grep -E '^crb[[:space:]]'
Relevant output on Rocky Linux 10 looks like this:
crb Rocky Linux 10 - CRB
Enable PowerTools on Rocky Linux 8
Rocky Linux 8 uses the older PowerTools repository name:
sudo dnf config-manager --set-enabled powertools
Verify the enabled repository state:
dnf repolist | grep -E '^powertools[[:space:]]'
powertools Rocky Linux 8 - PowerTools
Install epel-release from Rocky Extras
Install the EPEL release package after CRB or PowerTools is enabled:
sudo dnf install epel-release
Relevant output on Rocky Linux 10 includes the EPEL package and the CRB reminder:
Installed: epel-release-10-7.el10_1.noarch Complete! Many EPEL packages require the CodeReady Builder (CRB) repository. It is recommended that you run /usr/bin/crb enable to enable the CRB repository.
If you already enabled CRB or PowerTools, the reminder is informational. The /usr/bin/crb helper comes from epel-release on current Rocky Linux branches, so use dnf config-manager for the pre-install CRB step on a clean system.
Install EPEL with the Direct RPM Fallback
Use the direct RPM fallback only when the Extras repository is unavailable. Fedora’s EPEL documentation links the same release package permalinks used for these version-specific commands.
For Rocky Linux 10:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
For Rocky Linux 9:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
For Rocky Linux 8:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Verify EPEL on Rocky Linux
Confirm that the standard EPEL repository is enabled:
dnf repolist | grep -E '^epel[[:space:]]'
Rocky Linux 10 returns:
epel Extra Packages for Enterprise Linux 10 - x86_64
Rocky Linux 9 returns:
epel Extra Packages for Enterprise Linux 9 - x86_64
Rocky Linux 8 returns:
epel Extra Packages for Enterprise Linux 8 - x86_64
Find and Install EPEL Packages
EPEL package availability changes over time, so check the repository before assuming a package exists on every Rocky Linux release.
Search EPEL Packages with DNF
Search by package name or description:
dnf search htop
Example output includes:
========================== Name Exactly Matched: htop ========================== htop.x86_64 : Interactive process viewer
Use dnf info when you need to confirm the source repository for a package:
dnf info htop
Relevant output includes:
Name : htop Repository : epel Summary : Interactive process viewer
Check Common EPEL Package Names
Use repoquery to check several package names at once. This is useful when a project has renamed packages or when search results mention an older tool name.
dnf repoquery --repo epel --available eza btop bashtop htop nvtop fail2ban
Relevant output on Rocky Linux 10 includes:
btop-0:1.4.6-1.el10_1.x86_64 fail2ban-0:1.1.0-6.el10_0.noarch htop-0:3.3.0-5.el10_0.x86_64 nvtop-0:3.3.1-2.el10_1.x86_64
No output line for a queried name means that EPEL does not currently publish that package for the enabled branch. Current EPEL metadata lists btop, fail2ban, htop, and nvtop on Rocky Linux 10, 9, and 8, but not eza or bashtop.
| Package | Use | Rocky Linux Note |
|---|---|---|
| htop | Interactive process monitor | Available from EPEL on Rocky Linux 10, 9, and 8 |
| btop | Modern resource monitor | Use this current package name instead of bashtop |
| fail2ban | Log-based intrusion prevention | Available from EPEL; use the full Install Fail2Ban on Rocky Linux guide for service setup |
| nvtop | GPU activity monitor | Available from EPEL; NVIDIA systems also need working NVIDIA drivers on Rocky Linux |
| eza | Modern ls replacement | Not currently listed in EPEL for Rocky Linux 10, 9, or 8 |
Install an EPEL Package
Install packages from EPEL with the normal DNF install command. Replace htop with the package you want after confirming that EPEL provides it.
sudo dnf install htop
DNF resolves dependencies from all enabled repositories, including CRB or PowerTools when an EPEL package needs development libraries.
Troubleshoot EPEL on Rocky Linux
config-manager Command Is Missing
If dnf config-manager is unavailable, install the plugin package and retry the repository command:
sudo dnf install dnf-plugins-core
sudo dnf config-manager --set-enabled crb
Use powertools instead of crb on Rocky Linux 8.
CRB or PowerTools Is Still Disabled
List both possible development repositories when dependency errors continue after installing EPEL:
dnf repolist --all | grep -E '^(crb|powertools)[[:space:]]'
Relevant output should show the correct repository for your major version. Rocky Linux 10 and 9 use crb; Rocky Linux 8 uses powertools.
crb Rocky Linux 10 - CRB enabled
If the repository is still disabled on Rocky Linux 10 or 9, enable CRB again and rebuild the DNF metadata cache:
sudo dnf config-manager --set-enabled crb
sudo dnf makecache
On Rocky Linux 8, use PowerTools instead:
sudo dnf config-manager --set-enabled powertools
sudo dnf makecache
DNF5 CRB Commands Fail on Rocky Linux 10
Rocky Linux 10 uses DNF4 on current installs, so Fedora DNF5 repository examples are the wrong syntax here. Use the DNF4 command instead:
sudo dnf config-manager --set-enabled crb
Verify the package-manager family if you are checking a custom image:
dnf --version | head -n 1
A current Rocky Linux 10 system returns a 4.x version:
4.20.0
EPEL Repository Is Installed but Disabled
If epel-release is installed but EPEL does not appear in the enabled repository list, check whether the repository is disabled:
dnf repolist --all | grep -E '^epel[[:space:]]'
When the status column shows disabled, re-enable EPEL and verify it appears in the active repository list:
sudo dnf config-manager --set-enabled epel
dnf repolist | grep -E '^epel[[:space:]]'
Package Is Not Found in EPEL
If DNF cannot find a package after EPEL is enabled, check whether EPEL publishes that exact package name for your release:
dnf repoquery --repo epel --available package-name
No output means the package is not available from EPEL for that branch. Check for renamed packages, such as btop replacing older bashtop searches, before adding another third-party repository.
Wrong EPEL Major Version Installed
Check the installed release package if repository metadata points at the wrong major version:
rpm -q epel-release
Rocky Linux 10 should show an el10 package, Rocky Linux 9 should show el9, and Rocky Linux 8 should show el8. Remove the incorrect release package before reinstalling the correct one:
sudo dnf remove epel-release
Update, Disable, or Remove EPEL
Update EPEL Packages
EPEL packages update through the same DNF workflow as Rocky Linux packages:
sudo dnf upgrade --refresh
This command refreshes repository metadata and upgrades installed packages from enabled repositories, including EPEL.
Disable or Re-enable EPEL
Disable EPEL temporarily when you need to isolate package conflicts without removing the repository package:
sudo dnf config-manager --set-disabled epel
Re-enable it with:
sudo dnf config-manager --set-enabled epel
Remove the EPEL Repository
Remove the repository package when you no longer want EPEL configured:
sudo dnf remove epel-release
Verify the release package is no longer installed:
rpm -q epel-release
package epel-release is not installed
Removing epel-release removes the repository configuration, but it does not automatically remove packages you already installed from EPEL. Remove those packages separately when you no longer need them.
Remove an EPEL Package
Remove an individual package with DNF. For example, uninstall htop with:
sudo dnf remove htop
DNF displays any dependent packages that would also be removed before asking for confirmation. Keep EPEL enabled if other installed packages still depend on updates from it.
Conclusion
EPEL is now enabled on Rocky Linux with CRB or PowerTools ready for dependency resolution. From here, install the specific packages your system needs, or continue with related repository workflows such as Install Fail2Ban on Rocky Linux, Install RPM Fusion on Rocky Linux, or Install Remi RPM on Rocky Linux.


Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags currently allowed in published comments:
<code>command</code>command<strong>bold</strong><em>italic</em><blockquote>quote</blockquote>