How To Install EPEL Repo on a CentOS and RHEL 7.x

Posted on in Categories , , , , last updated January 13, 2017

How do I install the extra repositories such as Fedora EPEL repo on a Red Hat Enterprise Linux server version 7.x or CentOS Linux server version 7.x?

You can easily install various packages by configuring a CentOS 7.x or RHEL 7.x system to use Fedora EPEL repos and third party packages. Please note that these packages are not officially supported by either CentOS or Red Hat, but provides many popular packages and apps. This quick tutorial explains how to configure a CentOS or Red Hat Enterprise Linux (RHEL) version 7.x to use the Fedora Extra Packages for Enterprise Linux (EPEL) repository.

Commands to install EPEL repo on a CentOS Linux and RHEL 7.x

  1. Open a shell prompt.
  2. Or login to a host called server1 using ssh client.
  3. Install epel using the following command: yum -y install epel-release
  4. Refresh repo by typing the following command: yum repolist

How to install RHEL EPEL repository on Centos 7.x or RHEL 7.x

The following instructions assumes that you are running command as root user on a CentOS/RHEL 7.x system and want to use use Fedora Epel repos.

Method #1: Install Extra Packages for Enterprise Linux repository configuration (recommended)

Just type the following yum command on a CentOS 7 or RHEL 7:

sudo yum install epel-release

Sample outputs:

Fig.01: Installing epel-release package on a Centos 7
Fig.01: Installing epel-release package on a Centos 7

Note: If method #1 failed, try the following method #2 to install EPEL Repo.

Method #2: Install the extra EPEL repositories from dl.fedoraproject.org

The command is as follows to download epel release for CentOS and RHEL 7.x using wget command:

cd /tmp
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
ls *.rpm

To install epel-release-7-5.noarch.rpm, type:

sudo yum install epel-release-latest-7.noarch.rpm

Sample outputs:

Loaded plugins: amazon-id, rhui-lb
Examining epel-release-7-2.noarch.rpm: epel-release-7-2.noarch
Marking epel-release-7-2.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-2 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
================================================================================
 Package            Arch         Version   Repository                      Size
================================================================================
Installing:
 epel-release       noarch       7-2       /epel-release-7-2.noarch        22 k
 
Transaction Summary
================================================================================
Install  1 Package
 
Total size: 22 k
Installed size: 22 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : epel-release-7-2.noarch                                      1/1 
  Verifying  : epel-release-7-2.noarch                                      1/1 
 
Installed:
  epel-release.noarch 0:7-2                                                     
 
Complete!

List your new repos

Once installed you should see epel repo using the following yum repolist command
$ sudo yum repolist
Sample outputs:

Loaded plugins: amazon-id, rhui-lb
repo id                                         repo name                                         status
epel/x86_64                                     Extra Packages for Enterprise Linux 7 - x86_64    5,610
rhui-REGION-client-config-server-7/x86_64       Red Hat Update Infrastructure 2.0 Client Configur     2
rhui-REGION-rhel-server-releases/7Server/x86_64 Red Hat Enterprise Linux Server 7 (RPMs)          4,718
repolist: 10,330

Search and install package

To list all available packages under a repo called epel, enter:
$ sudo yum --disablerepo="*" --enablerepo="epel" list available
OR
$ sudo yum --disablerepo="*" --enablerepo="epel" list available | grep 'package'
OR
$ sudo yum --disablerepo="*" --enablerepo="epel" list available | less
Sample outputs:

Fig. 02: List all available packages under a EPEL Repo on a CentOS/RHEL/Fedora Linux
Fig. 02: List all available packages under a EPEL Repo on a CentOS/RHEL/Fedora Linux

Example: Search and install htop package from epel repo on a CentOS/RHEL 7.x

The commands are as follows (see yum our command guide for more info):

## search it ##
sudo yum search htop
 
## get more info, if found ##
sudo yum info htop
 
## install it ##
sudo yum install htop

And, there you have it, a larger number of packages to install from EPEL repo on a CentOS and Red Hat Enterprise Linux (RHEL) version 7.x.

See also

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

22 comment

  1. yum can install directly from a url.

    $ sudo yum install http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm 

    saves a few steps

      1. there’s a typo in the link – it should be https instead of http.

        sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
        does the trick. just checked it.

  2. Or better ….

    rpm -i http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

    in linux you can do the same using different methods!

    More power nixCraft!

  3. One problem I ran into after this was needing to clean metadata using ‘sudo yum clean metadata’ – until I did that, I was getting an error of “repomd.xml does not match metalink for epel”

  4. Muhammad Sadek got it right.

    Simply running `yum install epel-release` will fetch the latest package.

    1. Running 7.2 I could not find the epel-release package until after I installed the rpm manually. Now it shows up.

    1. epel-release-latest-7.noarch.rpm will automatically pick the newest version of the 7 compatible epel repo packages. Current today is 7-8.

  5. Note that above the wget command references epel-release-latest-7.noarch.rpm while the yum install references epel-release-7.noarch.rpm, so if you cut and paste or type exactly what is shown you will get an error as it tries to reference a package that hasn’t been downloaded.

  6. You may find on CentOS that epel-release cannot be found

    To solve, edit your /etc/yum.repos.d/CentOS-Base.repo file and enable the “extras” section, and then run

    sudo yum install epel-release

Comments are closed.