In this article, you will learn how to install and enable the EPEL repository on RHEL-based Linux distributions to install additional standard open-source software packages by using YUM and DNF package manager.
What is EPEL
EPEL (Extra Packages for Enterprise Linux) is an open-source and free community-based repository project from the Fedora team which provides 100% high-quality add-on software packages for Linux distribution including RHEL (Red Hat Enterprise Linux), CentOS Stream, AlmaLinux, and Rocky Linux.
EPEL project is not a part of RHEL/CentOS but it is designed for major Linux distributions by providing lots of open-source packages like networking tools, sysadmin tools, programming, monitoring, and so on. Most of the EPEL packages are maintained by the Fedora repo.
Why Do We Use the EPEL Repository?
- Provides lots of open-source packages to install via Yum and DNF.
- Epel repo is 100% open source and free to use.
- It does not provide any core duplicate packages and has no compatibility issues.
- All EPEL packages are maintained by the Fedora repo.
How to Install EPEL Repository on RHEL 9 Systems
To install the EPEL repository on any RHEL-based distributions, log in to your server instance as a root user and run the commands as explained below as per your release version.
Install EPEL Repo on RHEL 9
# subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
Install EPEL Repo on CentOS Stream 9
# dnf config-manager --set-enabled crb # dnf install epel-release epel-next-release
Install EPEL Repo on AlmaLinux 9
# dnf config-manager --set-enabled crb # dnf install epel-release
How to Install EPEL Repository on RHEL 8 Systems
To install the EPEL repository on RHEL 8-based release systems, use:
Install EPEL Repo on RHEL 8
# subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Install EPEL Repo on CentOS Stream 8
# dnf config-manager --set-enabled powertools # dnf install epel-release
Install EPEL Repo on Rocky/AlmaLinux 8
# dnf config-manager --set-enabled powertools # dnf install epel-release
How to Install EPEL Repository on RHEL 7 Systems
Install EPEL Repo on RHEL 7
# subscription-manager repos --enable rhel-*-optional-rpms \ --enable rhel-*-extras-rpms \ --enable rhel-ha-for-rhel-*-server-rpms # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Install EPEL Repo on CentOS 7
# yum install epel-release
Install EPEL Repo on CentOS 6.x
# yum install epel-release
How Do I Verify EPEL Repo?
Now update the software packages and verify the installation of the EPEL repository using the following commands.
# yum update # rpm -qa | grep epel
You can also verify that the EPEL repository is enabled on the system by listing all active repositories using the following command.
# yum repolist
To list the software packages that constitute the EPEL repository, run the command.
# dnf --disablerepo="*" --enablerepo="epel" list available OR # yum --disablerepo="*" --enablerepo="epel" list available
Alternatively, you can use the following grep command to search for individual package names as shown.
# yum --disablerepo="*" --enablerepo="epel" list available | grep 'htop' OR # dnf --disablerepo="*" --enablerepo="epel" list available | grep 'monitorix'
How Do I Use EPEL Repo to Install Packages?
Once the EPEL repository has been successfully installed, a package can be installed using the command.
# dnf --enablerepo="epel" install <package_name> OR # yum --enablerepo="epel" install <package_name>
For example, to search and install a package called htop – an interactive Linux process-viewer, run the following command.
# yum --enablerepo=epel info htop
Now, to install the Htop package, the command will be.
# yum --enablerepo=epel install htop
Note: The EPEL configuration file is located under /etc/yum.repos.d/epel.repo.
Conclusion
In this article, you learned how to install the EPEL repository on RHEL-based distributions. We welcome you to try it out and share your feedback in the comment section below.
Thanks a lot …
I have try on RHEL6.0 x64 . but not able to refresh repo list. I got this error..
[root@invoiceplane ~]# yum repolist
Loaded plugins: refresh-packagekit, rhnplugin
This system is not registered with RHN.
RHN support will be disabled.
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
@Nikhil,
You need to register your RHEL 6.0 server to RHN subscription, in order to enable and install packages, please follow below guide to enable subscription..
https://www.tecmint.com/install-gui-in-rhel-centos-7/
I am not able to enable epel repo, I install package successfully but when i am run it as command.
I get following error,
Please help, I am beginner..
@Sheetal,
In order to fetch and install packages from any third party repository, in your case its EPEL repo, you need to first register your RedHat server to RHEL subscription, to do so just follow this article https://www.tecmint.com/enable-redhat-subscription-reposiories-and-updates-for-rhel-7/
Hi Ravi,
I’m using centos 6.7 and I’ve enable epel repository but I got a problem when install pacemaker and this error said :
Error: Package: pacemaker-cluster-libs-1.1.12-8.el6_7.2.i686 (Update)
Requires: libcoroipcc.so.4
Available: corosynclib-1.4.7-2.el6.i686 (OS)
libcoroipcc.so.4
Installed: corosynclib-2.3.3-1.2.i686 (@haclustering)
Not found
Error: Package: pacemaker-cluster-libs-1.1.12-8.el6_7.2.i686 (Update)
Requires: libcoroipcc.so.4(COROSYNC_COROIPCC_3.0)
Available: corosynclib-1.4.7-2.el6.i686 (OS)
libcoroipcc.so.4(COROSYNC_COROIPCC_3.0)
Installed: corosynclib-2.3.3-1.2.i686 (@haclustering)
Not found
Error: Package: pacemaker-1.1.12-8.el6_7.2.i686 (Update)
Requires: libcfg.so.4(COROSYNC_CFG_0.82)
Available: corosynclib-1.4.7-2.el6.i686 (OS)
libcfg.so.4(COROSYNC_CFG_0.82)
Installed: corosynclib-2.3.3-1.2.i686 (@haclustering)
Not found
Error: Package: pacemaker-1.1.12-8.el6_7.2.i686 (Update)
Requires: libconfdb.so.4
Available: corosynclib-1.4.7-2.el6.i686 (OS)
libconfdb.so.4
Installed: corosynclib-2.3.3-1.2.i686 (@haclustering)
Not found
Error: Package: pacemaker-cli-1.1.12-8.el6_7.2.i686 (Update)
Requires: libcfg.so.4
Available: corosynclib-1.4.7-2.el6.i686 (OS)
libcfg.so.4
Installed: corosynclib-2.3.3-1.2.i686 (@haclustering)
Not found
I’ve searching in google but I can’t find solution. Any solution??
Thank you and regards
For what it is worth….
epel-release-7-5.noarch.rpm is no longer available.
Use the following command:
#wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
#rpm -ivh epel-release-7-6.norach.rpm
@Jason,
Thanks a ton for updating us about the epel latest version, updated in the article with epel 7.6…
Hi Ravi,
there is new rpm for RedHat/Centos 7: epel-release-7-6.noarch.rpm and 7.5 is not available anymore.
Please update your link to: http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
@Xpt,
Thanks for updating us about newer epel version, yes updated in the article with epel 7.6.
i am installing ejabberd but it shows nothing to do ?
After I have done the following commands, it fails to exec any yum commands:
## RHEL/CentOS 7 64-Bit ##
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# rpm -ivh epel-release-7-5.noarch.rpm
Error message:
[root@localhost ~]#yum install http://rdo.fedorapeople.org/openstack-kilo/rdo-release-kilo.rpm
Loaded plugins: fastestmirror
Cannot open: http://rdo.fedorapeople.org/openstack-kilo/rdo-release-kilo.rpm. Skipping.
Error: Nothing to do
[root@localhost ~]#
What’s the reason cause this and how to do troubleshooting this problem?
@Peter,
You doing a wrong way, here is the correct way to install rpm files directly on the fly from the command line.
yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
is quicker than wget and rpm.
Other option:
> yum install epel-release.noarch
> yum update
liblzma5-5.0.7-1.1.x86_64 has missing requires of libc.so.6(GLIBC_2.14)(64bit)
rrdtool-1.5.4-3mgc30.x86_64 has missing requires of libc.so.6(GLIBC_2.14)(64bit)
rrdtool-1.5.4-3mgc30.x86_64 has missing requires of libdbi.so.1()(64bit)
rrdtool-1.5.4-3mgc30.x86_64 has missing requires of libffi.so.6()(64bit)
rrdtool-1.5.4-3mgc30.x86_64 has missing requires of libpng16.so.16()(64bit)
rrdtool-1.5.4-3mgc30.x86_64 has missing requires of libpng16.so.16(PNG16_0)(64bit)
rrdtool-1.5.4-3mgc30.x86_64 has missing requires of librados.so.2()(64bit)
rrdtool-1.5.4-3mgc30.x86_64 has missing requires of systemd
rrdtool-1.5.4-3mgc30.x86_64 has missing requires of systemd
rrdtool-1.5.4-3mgc30.x86_64 has missing requires of systemd
systemd-units-217-11.1.mga5.x86_64 has installed conflicts initscripts (‘0’, ‘1.3.61’, ‘2’)
systemd-units-217-11.1.mga5.x86_64 has missing requires of libc.so.6(GLIBC_2.14)(64bit)
systemd-units-217-11.1.mga5.x86_64 has missing requires of libc.so.6(GLIBC_2.16)(64bit)
systemd-units-217-11.1.mga5.x86_64 has missing requires of libc.so.6(GLIBC_2.17)(64bit)
systemd-units-217-11.1.mga5.x86_64 has missing requires of liblzma.so.5(XZ_5.0)(64bit)
systemd-units-217-11.1.mga5.x86_64 has missing requires of systemd = (‘0’, ‘217’, ‘11.1.mga5’)
@Iqbal,
On which distribution you’ve enabled EPEL and what version of EPEL? It seems you’ve installed wrong version of EPEL on wrong version of distribution.
This post is the top result in google search. Please, please, fix your instructions, which are far more complicated than necessary.
The epel-release package is available in the default CentOS install. So there is no need to wget and install the package manually. There is no need for users to figure out if they have 32 or 64 bit version. The entire instruction, for Centos 6 and 7, is to run (as root):
yum install epel-release
That’s it.
Hi Ravi,
Looks like rhel 5 repo doesn’t have rpm for glance..
http://mirror.sfo12.us.leaseweb.net/epel/5/x86_64/
http://fedora-epel.mirror.lstn.net/5/x86_64/
Please check and let us know
@Bijith,
RHEL 5 is too old and I don’t think now any new packages will support, I suggest you to upgrade your OS.
the URL does not work for me , I’m using centOS 6
It works, I just tried it.
Cheers Ravi, you write up worked a treat.
you did not include setting password for cacti db
Why not just do:
yum install epel-release
which will pull the correct info right from the main repo’s?
This is by far the simplest and best method to enable EPEL repos in RHEL/CentOS.
I don’t know why the authors of this page insist on making it complicated.
I keep getting this when I try to install it on Centos7:
epel-release-7-5.noarch.rpm: Permission denied
Cannot write to ‘epel-release-7-5.noarch.rpm’ (Permission denied).
I’m not sure how I can get permission to download it.
@Jessica,
Install the software as root user or use sudo to execute super user commands..
I am getting this message from yum repolist:
epel/primary_db | 20 MB 00:01
http://mirror.ci.ifes.edu.br/epel/6/x86_64/repodata06fdcd0885b07462710fc206a438bb143580807569fd02723e08a681384996ad-primary.sqlite.bz2: [Errno -1] Metadata file does not match checksum
@Ariel,
Just run the following commands a root, it will clean yum repository cache.
Dear All
I have configured a local EPEL repository in my network on RHEL6.2. I have many client servers with RHEL 6.x, 5.x, CentOS and Ubuntu. RHEL 6.x pcs get the EPEL repository from the local server successfully through ftp link in the epel.repo file as usual. But from the 5.x versions I get error as below:
[root@sblftp133 pub]# yum list
Loaded plugins: security
Server | 951 B 00:00
Server/primary | 1.0 MB 00:00
Server 3100/3100
epel | 1.3 kB 00:00
epel/primary | 4.1 MB 00:12
ftp://192.168.102.251/pub/epel/repodata/primary.xml.gz: [Errno -3] Error performing checksum
Trying other mirror.
epel/primary | 4.1 MB 00:12
ftp://192.168.102.251/pub/epel/repodata/primary.xml.gz: [Errno -3] Error performing checksum
Trying other mirror.
Error: failure: repodata/primary.xml.gz from epel: [Errno 256] No more mirrors to try.
Only my local repo is connected to internet but not others, so i am fully dependent on this repo. Is there any way to connect the repo with no dependency of RHEL version?
Please help.
@Tasbir,
To fix such errors, install following package.
Thank you very much for the post.
I’ve been trying to install packstack on a Centos 6.6 and have experienced some issues due to epel repo. Thanks to your last Note on the Sample OUTPUT I have enabled the repo list for all the other packages since this was tough to do it for all the packages, and it’s working. I can see all of the packages installing.
Thank you very mch sir!
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Please verify its path and try again
How to resolve this?
@Kris,
Please edit the epel.repo file change the line from https to http and then run the following command to fix that error.
thank you very much
You are a savior man. thanks.
@Ravi editing https to http in epel.repo is not working for me while configuring nis and ldap server in VMware virtual box, still getting same error while I go to check repolist and installing ldap server.
The Centos 7 URL above is for the pre-release beta which is now incorrect. The following command worked for me:
yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
Thanks you so much Paul, for updating us with correct url. We’ve included in the article.
Hi Paul,
This URL did not work for me. I am getting error :
“Cannot open : “.skipping.
Error: Nothing to do.
Can you please suggest how to proceed.
@Praneeth,
On which Linux distro you’re trying?
Hello. Thank you for your effort in putting this together for everyone to learn from.
One issue with the CentOS 7 instructions:
Connecting to dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.25|:80… connected.
HTTP request sent, awaiting response… 404 Not Found
2014-09-26 08:08:53 ERROR 404: Not Found.
I want to install pymol and xmgrace on Centos 7 desktop, but unable to install. Please help me .
[rahman@localhost Downloads]$ uname -a
Linux localhost.btb.igloonet 3.10.0-123.6.3.el7.x86_64 #1 SMP Wed Aug 6 21:12:36 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[rahman@localhost Downloads]$ rpm -q epel-release
epel-release-7-2.noarch
[rahman@localhost Downloads]$ yum –enablerepo=epel info pymol
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.excellmedia.net
* elrepo: elrepo.mirrors.arminco.com
* elrepo-extras: elrepo.mirrors.arminco.com
* elrepo-testing: elrepo.mirrors.arminco.com
* epel: epel.mirror.net.in
* epel-debuginfo: epel.mirror.net.in
* epel-source: epel.mirror.net.in
* epel-testing: epel.mirror.net.in
* epel-testing-debuginfo: epel.mirror.net.in
* epel-testing-source: epel.mirror.net.in
* extras: centos-hcm.viettelidc.com.vn
* updates: http://ftp.cuhk.edu.hk
Available Packages
Name : pymol
Arch : x86_64
Version : 1.6.0
Release : 2.20130620svn4032.el7
Size : 6.6 M
Repo : kbs-epel7
Summary : PyMOL Molecular Graphics System
URL : http://www.pymol.org
License : MIT and BSD and ZPLv2.0 and Bitstream Vera and OFL
Description : PyMOL is a molecular graphics system with an embedded Python
: interpreter designed for real-time visualization and rapid
: generation of high-quality molecular graphics images and
: animations. It is fully extensible and available free to everyone
: via the “Python” license. Although a newcomer to the field, PyMOL
: can already be used to generate stunning images and animations
: with ease. It can also perform many other valuable tasks (such as
: editing PDB files) to assist you in your research.
[rahman@localhost Downloads]$ sudo yum –enablerepo=epel install pymol
…
……
…….
—> Package python-numeric.x86_64 0:24.2-14.el7 will be installed
—> Package python-pmw.noarch 0:1.3.2-9.el7 will be installed
–> Finished Dependency Resolution
Error: Package: pymol-1.6.0-2.20130620svn4032.el7.x86_64 (kbs-epel7)
Requires: apbs
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
I tried with –skip-broken but pymol not opening openinig menu
thanks
rahman
rpm -qa | grep pymol < Should reveal the culprit. Try remove the repo, then reinstalling it.
wget is not working.
I am getting following error. Please help
HTTP request sent, awaiting response… 404 Not Found
2014-09-18 14:07:35 ERROR 404: Not Found.
How different is centos from rhel
Nothing different, CentOS is clone of RHEL.
hi after installation repo of then get this error
Desktop]# yum repolist
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
Please register your RHEL server on Red Hat network. For registering on RedHat network, please follow the below link.
https://www.tecmint.com/enable-redhat-subscription-reposiories-and-updates-for-rhel-7/
Ravi,
This was not a good answer. “sana” had a problem with retrieving the EPEL repo metalink info, not because her (his?) machine was registered with RHN.
I bet “sana” has a RHEL 6.3 system. For some reason, using https:// URLs for the mirrorlist (in the “/etc/yum.repos.d/epel.repo” file installed from epel-release-6-8) results in this error. It works OK on RHEL 6.1 and 6.5, but not 6.3. Very strange problem and I have yet to find a solution for it. Upgrading “yum” did not fix it.
On CentOS 6.5 x86_64 the same problem with epel-release-6-8
@xandor,
Can you please tell us clearly what problem you facing, so that we could help you out….
hello! I am using Oracle Linux 7 and i followed epel repo instruction for 64 bit.
wget http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
rpm -ivh epel-release-7-0.2.noarch.rpm
however, i cant see the Epel repo when i execute yum repolist.
I also checked the files in /etc/yum.repos.d/ and epel.repo is not there.
Please run the following command and post the output here. If you see epel-release, that means epel is installed correctly.
HELPME PLEASE!
I have a redhat 5.5 i386, Perform all steps in this tutorial but when trying to install net-snmp gives me the following error:
# Yum – enablerepo = net-snmp EPEL info
Loaded plugins: rhnplugin, security
/ usr/lib/python2.4/xmllib.py: 9: DeprecationWarning: The module is obsolete xmllib. Use xml.sax instead.
warnings.warn (“The xmllib module is obsolete. xml.sax Use instead.”, DeprecationWarning)
There was an error communicating with RHN.
RHN support will be disabled.
Error Message:
Service not enabled for system profile: “myserver.mydomain.com”
Error Class Code: 31
Error Class Info:
This system does not have a valid entitlement for Red Hat Network.
Please visit https://rhn.redhat.com/rhn/systems/SystemEntitlements.do
or login at https://rhn.redhat.com, and from the “Your RHN” tab,
select “Subscription Management” to enable RHN service for this system.
Explanation:
Your organization does not have enough entitlements to register this Management
system to Red Hat Network. Please notify your organization administrator of this mistake.
You should be able to register after this system frees your organization Existing
purchases or additional entitlements. Additional entitlements May be Purchased by your
organization administrator by logging into Red Hat Network and visiting
the ‘Subscription Management’ page in the ‘Your RHN’ section of RHN.
A common cause of this error code is due to having an Mistakenly setup
Which is September Activation Key as the universal default. If an activation key is September
on the account as a universal default, you can disable this key and retry to avoid
Requiring a Management entitlement.
Error: No matching Packages to list
It seems your RedHat 5.5 system haven’t registered at RHN Network and it also indicates that your organization don’t have enough entitlements to register your server ot Red Hat Network. Please raise a ticket at RHN support team.
It seems the command string you are using “# Yum – enablerepo = net-snmp EPEL info” isn’t correct (in comparison to the one provided in above screenshot), please check the same.
Thanks a lot!
Thanks for your tip here.
I enabled my epel on my centos 6.4 box. Since we installed Oracle Linux the output looks different from what you post here.
Is this ok ?
[root@10 ~]# yum repolist
Loaded plugins: security
file:///media/OL6.4_x86_64/repodata/repomd.xml: [Errno 14] Could not open/read file:///media/OL6.4_x86_64/repodata/repomd.xml
Trying other mirror.
epel/metalink | 14 kB 00:00
epel-source/metalink | 13 kB 00:00
epel-source | 3.7 kB 00:00
epel-source/primary_db | 1.7 MB 00:04
repo id repo name status
OL64 Oracle Linux 6.4 x86_64 3,628
epel Extra Packages for Enterprise Linux 6 – x86_64 10,998
epel-source Extra Packages for Enterprise Linux 6 – x86_64 – Source 0
mongodb MongoDB Repository 196
repolist: 14,822
CentOS 7.x not released…
RC is released and the instructions would be same for when final CentOS 7 release.
/thx so much for the tutorial :) ..
i’ve just remembered that we can append another repos because it’s linux :) ..
i’ve stucked for about 1 month XD ..
regards ..
I have configured EPEL on RHEL 32 bit, But php-snmp package not listing in my repo.
[root@rhel1 yum.repos.d]# yum repolist
Loaded plugins: product-id, subscription-manager
Updating Red Hat repositories.
epel/metalink | 4.7 kB 00:00
ftp-repo | 1.3 kB 00:00 …
repo id repo name status
epel Extra Packages for Enterprise Linux 6 – i386 8,651
ftp-repo ” FTP from 10.1.14.168″ 2,764
repolist: 11,415
===========================================================
[root@rhel1 yum.repos.d]# yum –enablerepo=epel info php-snmp
Loaded plugins: product-id, subscription-manager
Updating Red Hat repositories.
Error: No matching Packages to list
===========================================================
Urgent Help Needed…
Thanks in advance
http://108.61.40.185/cacti
# httpd 2.4
Require host localhost
# httpd 2.2
Order deny,allow
Deny from all
Allow from localhost
? please help me
Instead of localhost you should add IP address of your system.
Thank you
Now I can use a stable version of Linux as a workstation. Fedora got too unreliable for me.
After the installation of epel, commands like service, chkconfig, iptables and others have stopped working with an error that “command not found”. Now the only way to run these command is sbin/service. Any idea why?
Nice article. Helped me sorting epel installation.
Really nice article! It’s hard to install php-mcrypt extension to centos cause there’s no souce in default. It’s so easy with this. THANK YOU VERY MUCH!!!
Thank You. Really Awesome and elaborate Info. Thanks for pinpointing each and every point. Good Job. Keep it up.
Wishes,
Unni.
Thank you very much for sharing this, it’s life saving
very helpful. thank you.