How to install EPEL repo in RHEL 8 Linux


Tips and Tricks, How To, Linux

How to install the extra repositories such as Fedora EPEL repo on a Red Hat Enterprise Linux server version 8.x or CentOS Linux server version 8.x? How to install EPEL repo in RHEL 8 Linux. How to install EPEL repo in CentOS 8 Linux.

How to install EPEL repo in RHEL 8 Linux

 

What is EPEL repo?

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL).

EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.

You can check the mirror list to get the list of repositories available at EPEL

NOTE:
At the time of writing the article CentOS 8 was not released but this article assumes that the same steps will work on CentOS 8. If you have a different experience then please let us know through the comment section.

 

Install EPEL repo in RHEL 8

The EPEL Repo contains all the packages and EPEL rpms which can be used to install epel repo in RHEL 8 Linux host.

So one can manually install the EPEL repo rpm using DNF/YUM/RPM.

[root@rhel-8 ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Retrieving https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
warning: /var/tmp/rpm-tmp.URDkYa: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:epel-release-8-1                 ################################# [100%]

While working on EPEL repo I found a BUG while trying to setup my repository "Failed to synchronize cache for repo 'epel', ignoring this repo."

 

How to fix "Failed to synchronize cache for repo 'epel', ignoring this repo." ?

After you install EPEL repo in RHEL 8 Linux it is a good idea to clean up the existing cache

[root@rhel-8 ~]# dnf clean all
Updating Subscription Management repositories.
16 files removed

[root@rhel-8 ~]# rm -rf /var/cache/dnf

Next you can check the list of available repo on your Linux host using below command

[root@rhel-8 ~]# dnf repolist
Updating Subscription Management repositories.
Extra Packages for Enterprise Linux $release - x86_64                                                             23 kB/s |  51 kB     00:02
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                                         2.2 MB/s | 8.6 MB     00:03
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                                            966 kB/s | 5.6 MB     00:05
Failed to synchronize cache for repo 'epel', ignoring this repo.
Last metadata expiration check: 0:00:03 ago on Sat 03 Aug 2019 12:12:13 AM IST.
repo id                                                  repo name                                                                         status
rhel-8-for-x86_64-appstream-rpms                         Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                          5,693
rhel-8-for-x86_64-baseos-rpms                            Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                             2,078

But as you see here I get an error "Failed to synchronize cache for repo 'epel', ignoring this repo." Then another thing worth noticing is the Repo Name for EPEL, which instead of containing the release version, it still contains a variable $release which I assumed can be the cause of this problem

To re-confirm this I also checked their EPEL source rpm which also contained the same file wherein they have either missed to change the $Release variable or this contains a newer way to handle the variable but not properly implemented.

I assume since RHEL 8 is recently released, this is still in BETA and a more stable EPEL repo will be released in future.

But for now to overcome the situation you can manually change this variable in /etc/yum.repos.d/epel.repo as highlighted below

[epel]
name=Extra Packages for Enterprise Linux $release - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/$release/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$release&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$release

TO

[epel]
name=Extra Packages for Enterprise Linux 8 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/$release/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8

 

Next clean the existing repo cache and check the list of available repo

[root@rhel-8 ~]# dnf clean all
Updating Subscription Management repositories.
27 files removed

[root@rhel-8 ~]# rm -rf /var/cache/dnf

[root@rhel-8 ~]# dnf repolist
Updating Subscription Management repositories.
Extra Packages for Enterprise Linux 8 - x86_64                                                                    98 kB/s | 430 kB     00:04
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                                         1.5 MB/s | 8.6 MB     00:05
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                                            1.2 MB/s | 5.6 MB     00:04
repo id                                                  repo name                                                                         status
*epel                                                    Extra Packages for Enterprise Linux 8 - x86_64                                      310
rhel-8-for-x86_64-appstream-rpms                         Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                          5,693
rhel-8-for-x86_64-baseos-rpms                            Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                             2,078

So now our EPEL repo is working on RHEL 8 Linux host.

Next you can verify the list of available RPMS under EPEL repo for RHEL 8

[root@rhel-8 ~]# dnf list | grep epel | less
epel-release.noarch                                  8-1                                                      @System
apachetop.x86_64                                     0.19.7-1.el8                                             epel
arj.x86_64                                           3.10.22-30.el8                                           epel
beecrypt.x86_64                                      4.2.1-23.el8                                             epel
beecrypt-apidocs.x86_64                              4.2.1-23.el8                                             epel
beecrypt-devel.x86_64                                4.2.1-23.el8                                             epel
bgpdump.x86_64                                       1.6.0-2.el8                                              epel
bird.x86_64                                          2.0.4-1.el8                                              epel
bird-doc.noarch                                      2.0.4-1.el8                                              epel
bodhi-client.noarch                                  4.0.2-2.el8.1                                            epel
bodhi-composer.noarch                                4.0.2-2.el8.1                                            epel
bodhi-server.noarch                                  4.0.2-2.el8.1                                            epel

<output trimmed>

So with this we know that the current release of EPEL repo for RHEL 8 is not very stable and our manual workaround can fix "Failed to synchronize cache for repo 'epel', ignoring this repo.".

Hopefully the future releases will have more stable version.

 

Lastly I hope the steps from the article to install EPEL repo in RHEL 8 Linux was helpful. So, let me know your suggestions and feedback using the comment section.

 

Deepak Prasad

Deepak Prasad

He is the founder of GoLinuxCloud and brings over a decade of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive experience, he excels in various domains, from development to DevOps, Networking, and Security, ensuring robust and efficient solutions for diverse projects. You can connect with him on his LinkedIn profile.

Can't find what you're searching for? Let us assist you.

Enter your query below, and we'll provide instant results tailored to your needs.

If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation.

Buy GoLinuxCloud a Coffee

For any other feedbacks or questions you can send mail to admin@golinuxcloud.com

Thank You for your support!!

1 thought on “How to install EPEL repo in RHEL 8 Linux”

Leave a Comment