Monday, July 2, 2012

How To enable EPEL repository on CentOS



 EPEL ( Extra Packages for Enterprise Linux ) is maintained as part of the Fedora project that maintains several packages that are not part of the standard Red Hat Enterprise Linux (or CentOS).

For example, if you are installing nagios (or bugzilla, or any other standard open source software), you’ll typically install it from source. i.e You’ll download the source code from the corresponding open source project site, and compile it on your system. You won’t be able to install those using the standard yum repositories (i.e base, updates, etc.).

If you enable EPEL, you can install nagios, or bugzilla, or any other standard open source software just using yum command.

The following yum command displays all the repositories available on your system. As you see below, it has three CentOS-6 repositories (base, extras and updates). This doesn’t have EPEL enabled yet.

# yum repolist
repo id          repo name                   status
base             CentOS-6 - Base             6,294
extras           CentOS-6 - Extras               4
updates          CentOS-6 - Updates            830
repolist: 7,128


Enable EPEL


First, you need to enable EPEL repository on your system. You don’t need to configure this repository manually in your yum. Instead, download the following package and install it, which will enable the EPEL repository on your system.

epel-release-6-6.noarch – Install this on your RHEL 6 (or CentOS 6)
epel-release-5-4.noarch - Install this on your RHEL 5 (or CentOS 5)

On my CentOS 6 system, I did the following. If you just do a “–test”, to test the installation, this will give NOKEY found warning message.

# rpm -ivh epel-release-6-5.noarch.rpm --test
warning: epel-release-6-5.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]

You should download the GPG key for EPEL repository from fedoraproject and install it on your system as shown below. For CentOS 6, go to fedoraprojecthttps://fedoraproject.org/keys, and scroll down to RPM-GPG-KEY-EPEL-6 and download it (or) use the direct wget as shown below.

# cd
# wget https://fedoraproject.org/static/0608B895.txt
# mv 0608B895.txt /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

Verify that the key got installed successfully.
# rpm -qa gpg*
gpg-pubkey-0608b895-4bd22942

Now install the epel-release-6-6.noarch package, which will enable EPEL repository on your system.
# rpm -ivh epel-release-6-5.noarch.rpm
Preparing...                ########################################### [100%]
   1:epel-release-6-5.noarch########################################### [100%]
GPG Key ID

As you see from the above rpm command, it says “key ID 0608b895: NOKEY”. This indicates that this is looking for the GPG key with id 0608b895.

When you downloaded the key from fedoraproject, notice that the GPG key is stored in a filename that is just the keyid. As you see from above, we downloaded 0608B895.txt from fedoraproject website.

Once you’ve installed the key, if you do “rpm -qa gpg*”, you’ll see that the gpg key with the keyid 0608b895 is installed.

The key id 0608b895 is part of the gpg package name as shown below.
# rpm -qa gpg*
gpg-pubkey-0608b895-4bd22942
Verify EPEL

Verify that the EPEL repository is enabled as shown below. Now, you’ll see epel repository (apart from the standard base, updates and extras repositories).
# yum repolist
repo id       repo name                                             status
base          CentOS-6 - Base                                       6,294
epel          Extra Packages for Enterprise Linux 6 - x86_64        7,345
extras        CentOS-6 - Extras                                         4
updates       CentOS-6 - Updates                                      928
repolist: 14,571

Finally, you should be able to install lot of standard open source software (For example, nagios, bugzilla, etc.) directly using yum. Now if you do ‘yum info nagios’, it will show the following information. Check the line that starts with “Repo”, which has the value of “epel”, which indicates that this package is from epel repository.
# yum info nagios
Available Packages
Name        : nagios
Arch        : x86_64
Version     : 3.3.1
Release     : 3.el6
Size        : 1.1 M
Repo        : epel
Summary     : Nagios monitors hosts and services and yells if somethings breaks

No comments:

Post a Comment