Select Page

Introduction

“Extra Packages for Enterprise Linux”, shortened as EPEL, is a set of extra packages for RedHat Enterprise Linux, compiled by the community members of the Fedora Project. This package is responsible for providing the programs you’d not find in RHEL machines otherwise. These extra programs include Chromium and ImageMagick, which most Linux users are unable to live without. As RHEL is basically a subset of Fedora, it does not contain all the packages that Fedora does, by default. 

For this reason, the people from Fedora created this set of packages (EPEL) so that RHEL users can enjoy the applications right from their comfort of RHEL, without having to use a separate Fedora Installation. However, many users seems to have complained that they get the following error message when trying to install the epel-release package for their machines:

$ no package epel-release available

In this article, I’ll help you get rid of this error message and successfully install epel-release without causing other problems to emerge in the process!


Why is epel-release not available?

The epel-release package is not available because when you try to install it using a package manager in your RedHat Linux machine, such as yum or dnf, these package managers actually just go and search for repos that are defined in your system. If a repo does not exist, then the manager will be unable to find the packages under that repo.

Same is the case for the epel-release package. It has its own repo for the package, which first needs to be installed or defined in order for you to be able to install the package itself. 


Add the extra repository for RHEL

In RedHat Enterprise Linux machines, you use the subscription-manager command to add repos to your system, and that’s exactly what we’re going to do here – add the repo that contains the epel-release package. To do this, execute the following command in your terminal:

$ subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms

If you’re using Redhat version 8, use this command instead:

$ subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms

If you’re using RedHat version 7, please go through the next section as the comman for RedHat version 7 is a bit different.


Install epel-release from added repo

Once you’re done adding the Repos, you should now be able to execute the following command to install epel-release in your machine:

$ dnf install epel-release

You can also use the yum package manager instead of dnf, if you wish that:

$ yum install epel-release

If this does not work for some reason, don’t worry just yet. Because there’s another way for you to install the package, if you can’t do it through this method.


Install epel-release directly from Fedora

As it is Fedora who is responsible for providing the epel-release package, you can also directly install the package from their website. Run the following command in your terminal to directly download and install the package:

$ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

However, there are a few problems regarding this above command. Firstly, if you see an error message like this:

$ Cannot open: https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm. 
Skipping.

Then you need to change the https to http instead while running the command:

$ yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

The second problem is that this command is only applicable for RedHat version 9 and above, which many people might not have. So you need to change the version of epel-release in the above command if you’re using an older version.

If you’re using RedHat version 8, then use this below command instead:

$ yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Just like in the repo adding part, if you’re using an even older version like 7, then you’d need to use the following command:

$ yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

If you notice properly, nothing much has changed in the command other than the digit after epel-release-latest-x. If you’re using a RedHat Linux machine which has an even older version, let’s say version 6 or even 5, you can simply change the “x”, and replace it with the digit of your version number, to install the adjacent package. However, older versions might not have a package for the system, so in case it doesn’t work for you, it’s time for you to upgrade your OS version already!

In RedHat version 7, it is advised that you add a few more necessary repos before you install the epel-release package. Simply execute the following command in your terminal to do so:

$ subscription-manager repos --enable rhel-*-optional-rpms \
                             --enable rhel-*-extras-rpms \
                             --enable rhel-ha-for-rhel-*-server-rpms

Afterwards, you should be able to download and install it from the fedora website, as previously mentioned:

$ yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

This pretty much concludes to the fix for not being able to install the epel-release package in your RedHat Linux machine. Some of you might be thinking, why am I not including CentOS in this fix? Well because CentOS already has the epel-release package in its default repository, so using the package manager directly is enough to install the package. This problem is only ever relevant to those using RedHat Linux.

I hope you have a very good day!