How do I enable EPEL (Extra Packages for Enterprise Linux) repo and install the packages under RHEL / CentOS Linux server systems?
EPEL (Extra Packages for Enterprise Linux) is a volunteer-based community effort from the Fedora project to create a repository of high-quality add-on packages that complement the Fedora-based Red Hat Enterprise Linux (RHEL) and its compatible spinoffs, such as CentOS and Scientific Linux.
EPEL provide lots of packages for CentOS / RHEL, It is not part of RedHat or CentOS but is designed to work with these major distributions. Please note that EPEL only provides free and open source software unencumbered by patents or any legal issues. In short you will not find mp3, dvd and music / media player under EPEL. However, you will find many programs related to networking, monitoring, sys admin, programming and so on.
Packages are supplied in RPM format and in most cases are ready to use. Beware that some packages may break something and you should not blindly install those packages.
How Do I Enable EPEL Repo under CentOS or RHEL Servers?
You need to type the following command as per your distro version / release.
RHEL 5.x / CentOS 5.x Users
Type the following command as root user to install repo:
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
RHEL 6.x / CentOS 6.x Users
Type the following command as root user to install repo:
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
Protect Base Packages
You need to to protect base and core packages from EPEL and other repositories. Type the following command under RHEL 6/CentOS 6:
# yum install yum-plugin-protectbase.noarch
Sample outputs:
Loaded plugins: product-id, rhnplugin, subscription-manager Updating certificate-based repositories. Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package yum-plugin-protectbase.noarch 0:1.1.30-10.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================== Package Arch Version Repository Size ==================================================================================================== Installing: yum-plugin-protectbase noarch 1.1.30-10.el6 rhel-x86_64-server-optional-6 20 k Transaction Summary ==================================================================================================== Install 1 Package(s) Total download size: 20 k Installed size: 0 Is this ok [y/N]: y Downloading Packages: yum-plugin-protectbase-1.1.30-10.el6.noarch.rpm | 20 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : yum-plugin-protectbase-1.1.30-10.el6.noarch 1/1 Installed products updated. Installed: yum-plugin-protectbase.noarch 0:1.1.30-10.el6 Complete!
RHEL 5/ CentOS 5 user type the following command to protect packages:
# yum install yum-protectbase.noarch
This plugin allows certain repositories to be protected. Packages in the protected repositories can't be overridden by packages in non-protected repositories even if the non-protected repo has a later version.
How Do I Use EPEL Repo?
To list newly installed repo, enter:
# yum repolist
Sample output:
Loading "skip-broken" plugin
Loading "fastestmirror" plugin
repo id repo name status
addons CentOS-5 - Addons enabled
base CentOS-5 - Base enabled
epel Extra Packages for Enterprise Linux 5 - enabled
extras CentOS-5 - Extras enabled
updates CentOS-5 - Updates enabledNow, use the yum command to list, view and install the packages:
# yum search package-name
# yum install package-name
See how to use yum command for installing and searching packages using various repos.
Further readings:
Page last updated at 11:31 AM, March 30, 2012.
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop














{ 13 comments… read them below or add one }
I think it would be helpful if you also mention how to use yum-priorities, which is recommended when one plans to use 3rd party repos (like EPEL).
Very useful article. It enables to find various packages which are not avaialble in CentOS repository or rpm.forge repository. Thank you Vivek.
Amila Withanage
Really it is very helpfull to all, which people want to know more about linux. i really very thankful to this group. it is greate affort for us..!! thank you …….
This is excellent stuff! Thank you. It stands on its own feet with appropriate links and examples, and it provides those of us with less than complete Linux knowledge with straightforward guidance in security enhancement.
Hi
I tried the above steps however it gives me error, i could able to install the package manually by downloading it from the website because i was not able to upgrade it directly from the Web. And After instillation of the package i tried to run the command “yum repolist” however i am getting the error message as “[root@gk ~]# yum repolist
Loading “rhnplugin” plugin
Loading “installonlyn” plugin
This system is not registered with RHN.
RHN support will be disabled. ”
Can you please let me know am i going wrong somewhere or i am missing anything somewhere.
IF you are running RHEL, use the package yum-protectbase instead of yum-priorities.
if you are getting errors try
Link correto:
It is now:
@all,
The faq has been updated with correct url and also covers installation of yum-plugin-protectbase.
for Rhel5 should not be EPEL5 instead of EPEL6?:
http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
EPEL6 in Centos5:
Failed dependencies:
rpmlib(FileDigests) <= 4.6.0-1 is needed by epel-release-6-7.noarch
rpmlib(PayloadIsXz) <= 5.2-1 is needed by epel-release-6-7.noarch
Correct URL
CentOS 6.x 32-bit (x86/i386):
CentOS 6.x 64-bit (x64):
CentOS 5.x 32-bit (x86/i386):
CentOS 5.x 64-bit (x64):
Any lines like this:
should be:
In order for this tutorial to be unbiased against different chip architectures. Other than that, thank you!