The Extra Packages for Enterprise Linux (EPEL) repository provides rebuilds of Fedora packages for EL5 and EL6. This is not a CentOS repository. It is a Fedora project. This repository is suppose to complement the packages found in the base repository by adding additional, useful applications. A list of the additional packages may be found on the project’s web page.
According to the EPEL web site, “EPEL is purely a complementary add-on repository and does not replace packages in RHEL or layered products.” It should work along with the base repository without issue. However, there is always the possibility that the same application gets added, or that it doesn’t mix well with other third-party repositories added to your system. Hence, consider using the Yum priorities module.
Install the epel-release package for EL6 to automatically configure and enable this repository on CentOS 6.
# cd /tmp/ # wget http://mirrors.rit.edu/fedora/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -Uvh epel-release-6-8.noarch.rpm warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY Preparing... ########################################### [100%] 1:epel-release ########################################### [100%] # yum makecache Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile epel/metalink | 13 kB 00:00 * base: mirrors.lga7.us.voxel.net * epel: mirrors.servercentral.net * extras: mirrors.lga7.us.voxel.net * updates: ftpmirror.your.org base | 3.7 kB 00:00 base/filelists_db | 5.9 MB 00:01 base/other_db | 2.8 MB 00:00 epel/group_gz | 237 kB 00:00 epel/filelists_db | 8.0 MB 00:02 epel/other_db | 3.4 MB 00:00 epel/updateinfo | 731 kB 00:00 extras | 3.4 kB 00:00 extras/filelists_db | 11 kB 00:00 extras/prestodelta | 907 B 00:00 extras/other_db | 5.8 kB 00:00 updates | 3.4 kB 00:00 updates/filelists_db | 649 kB 00:00 updates/prestodelta | 241 kB 00:00 updates/other_db | 107 kB 00:00 Metadata Cache Created |
Verify the EPEL repository is enabled:
# yum repolist all Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: mirror.nexcess.net * epel: ftp.osuosl.org * extras: mirror.metrocast.net * updates: mirrors.rit.edu repo id repo name status C6.0-base CentOS-6.0 - Base disabled C6.0-centosplus CentOS-6.0 - CentOSPlus disabled C6.0-contrib CentOS-6.0 - Contrib disabled C6.0-extras CentOS-6.0 - Extras disabled C6.0-updates CentOS-6.0 - Updates disabled C6.1-base CentOS-6.1 - Base disabled C6.1-centosplus CentOS-6.1 - CentOSPlus disabled C6.1-contrib CentOS-6.1 - Contrib disabled C6.1-extras CentOS-6.1 - Extras disabled C6.1-updates CentOS-6.1 - Updates disabled C6.2-base CentOS-6.2 - Base disabled C6.2-centosplus CentOS-6.2 - CentOSPlus disabled C6.2-contrib CentOS-6.2 - Contrib disabled C6.2-extras CentOS-6.2 - Extras disabled C6.2-updates CentOS-6.2 - Updates disabled C6.3-base CentOS-6.3 - Base disabled C6.3-centosplus CentOS-6.3 - CentOSPlus disabled C6.3-contrib CentOS-6.3 - Contrib disabled C6.3-extras CentOS-6.3 - Extras disabled C6.3-updates CentOS-6.3 - Updates disabled C6.4-base CentOS-6.4 - Base disabled C6.4-centosplus CentOS-6.4 - CentOSPlus disabled C6.4-contrib CentOS-6.4 - Contrib disabled C6.4-extras CentOS-6.4 - Extras disabled C6.4-updates CentOS-6.4 - Updates disabled base CentOS-6 - Base enabled: 6,367 c6-media CentOS-6 - Media disabled centosplus CentOS-6 - Plus disabled contrib CentOS-6 - Contrib disabled debug CentOS-6 - Debuginfo disabled epel Extra Packages for Enterprise Linux 6 - x enabled: 10,215 epel-debuginfo Extra Packages for Enterprise Linux 6 - x disabled epel-source Extra Packages for Enterprise Linux 6 - x disabled epel-testing Extra Packages for Enterprise Linux 6 - T disabled epel-testing-debuginfo Extra Packages for Enterprise Linux 6 - T disabled epel-testing-source Extra Packages for Enterprise Linux 6 - T disabled extras CentOS-6 - Extras enabled: 14 updates CentOS-6 - Updates enabled: 286 repolist: 16,882 |
Optionally, install the Yum priorities plugin. This plugin allows repositories to have different priorities. Packages in a repository with a lower priority can’t be overridden by packages from a repository with a higher priority even if repository has a later version.
# yum install yum-plugin-priorities |
Verify that Yum plugins are enabled in /etc/yum.conf
:
[main] plugins=1 |
Verify that the Yum priorities plugin is enabled in /etc/yum/pluginconf.d/priorities.conf
:
[main] enabled = 1 |
Now add priorities to repositories by adding the line:
priority=N |
to a repository entry, where N is an integer from 1 to 99. The default priority for repositories is 99. The repositories with the lowest numerical priority number have the highest priority. Hence, give all of the CentOS base and update repositories the highest possible priority (1). You do not need to modify the EPEL repository configuration files since they will default to the lower priority of 99. Modify /etc/yum.repos.d/CentOS-Base.repo
to append
priority=1 |
to every repository definition.
Now check to see if any packages from the EPEL repository were excluded:
# yum repolist all Loaded plugins: fastestmirror, priorities, security Loading mirror speeds from cached hostfile * base: mirror.nexcess.net * epel: ftp.osuosl.org * extras: mirror.metrocast.net * updates: mirrors.rit.edu 82 packages excluded due to repository priority protections repo id repo name status C6.0-base CentOS-6.0 - Base disabled C6.0-centosplus CentOS-6.0 - CentOSPlus disabled C6.0-contrib CentOS-6.0 - Contrib disabled C6.0-extras CentOS-6.0 - Extras disabled C6.0-updates CentOS-6.0 - Updates disabled C6.1-base CentOS-6.1 - Base disabled C6.1-centosplus CentOS-6.1 - CentOSPlus disabled C6.1-contrib CentOS-6.1 - Contrib disabled C6.1-extras CentOS-6.1 - Extras disabled C6.1-updates CentOS-6.1 - Updates disabled C6.2-base CentOS-6.2 - Base disabled C6.2-centosplus CentOS-6.2 - CentOSPlus disabled C6.2-contrib CentOS-6.2 - Contrib disabled C6.2-extras CentOS-6.2 - Extras disabled C6.2-updates CentOS-6.2 - Updates disabled C6.3-base CentOS-6.3 - Base disabled C6.3-centosplus CentOS-6.3 - CentOSPlus disabled C6.3-contrib CentOS-6.3 - Contrib disabled C6.3-extras CentOS-6.3 - Extras disabled C6.3-updates CentOS-6.3 - Updates disabled C6.4-base CentOS-6.4 - Base disabled C6.4-centosplus CentOS-6.4 - CentOSPlus disabled C6.4-contrib CentOS-6.4 - Contrib disabled C6.4-extras CentOS-6.4 - Extras disabled C6.4-updates CentOS-6.4 - Updates disabled base CentOS-6 - Base enabled: 6,367 c6-media CentOS-6 - Media disabled centosplus CentOS-6 - Plus disabled contrib CentOS-6 - Contrib disabled debug CentOS-6 - Debuginfo disabled epel Extra Packages for Enterprise Linux 6 enabled: 10,133+82 epel-debuginfo Extra Packages for Enterprise Linux 6 disabled epel-source Extra Packages for Enterprise Linux 6 disabled epel-testing Extra Packages for Enterprise Linux 6 disabled epel-testing-debuginfo Extra Packages for Enterprise Linux 6 disabled epel-testing-source Extra Packages for Enterprise Linux 6 disabled extras CentOS-6 - Extras enabled: 14 updates CentOS-6 - Updates enabled: 286 repolist: 16,800 |
This was actually a bit surprising! I was not expecting any packages from EPEL to be excluded because I was not expecting any packages that are in the base repository to also be in the EPEL repository. To determine which packages exist in both repositories, I temporarily disabled the Yum priorities module and did the following:
# yum --disablerepo="*" --enablerepo="base" list available | cut -d" " -f1 | sort > /tmp/base.txt # yum --disablerepo="*" --enablerepo="epel" list available | cut -d" " -f1 | sort > /tmp/epel.txt # comm -12 /tmp/base.txt /tmp/epel.txt a2ps.i686 a2ps.x86_64 emacs-a2ps-el.x86_64 emacs-a2ps.x86_64 febootstrap.x86_64 freerdp-devel.i686 freerdp-devel.x86_64 freerdp-libs.i686 freerdp-libs.x86_64 freerdp-plugins.x86_64 freerdp.x86_64 ht2html.noarch html2ps.noarch lzop.x86_64 osutil.x86_64 perl-B-Keywords.noarch perl-Class-MethodMaker.x86_64 perl-Config-Simple.noarch perl-Devel-Cycle.noarch perl-Exception-Class.noarch perl-File-pushd.noarch perl-Font-AFM.noarch perl-HTML-Format.noarch perl-IO-Tty.x86_64 perl-IPC-Run.noarch perl-Locale-PO.noarch perl-MIME-Lite.noarch perl-MIME-Types.noarch perl-Module-Find.noarch perl-Net-SMTP-SSL.noarch perl-PadWalker.x86_64 perl-Parse-RecDescent.noarch perl-Perl-Critic.noarch perl-Pod-Spell.noarch perl-String-Format.noarch perl-Syntax-Highlight-Engine-Kate.noarch perl-Term-ProgressBar.noarch perl-Test-Memory-Cycle.noarch perl-Test-Perl-Critic.noarch perl-Test-Spelling.noarch perl-UNIVERSAL-can.noarch perl-UNIVERSAL-isa.noarch perl-XML-TokeParser.noarch perl-XML-Writer.noarch pexpect.noarch pki-symkey.x86_64 PyPAM.x86_64 python-ipaddr.noarch python-krbV.x86_64 python-repoze-who-friendlyform.noarch python-suds.noarch python-tw-forms.noarch python-urwid.x86_64 scl-utils-build.x86_64 scons.noarch snappy-devel.i686 snappy-devel.x86_64 snappy.i686 wordnet-devel.i686 wordnet-devel.x86_64 wordnet.i686 wordnet.x86_64 xerces-c-devel.i686 xerces-c-devel.x86_64 xerces-c-doc.noarch xerces-c.i686 xerces-c.x86_64 xhtml2ps.noarch |
At random, I compared the package “osutil”:
# yum --disablerepo="*" --enablerepo="base" info osutil Loaded plugins: fastestmirror, priorities, security Loading mirror speeds from cached hostfile * base: mirror.nexcess.net Available Packages Name : osutil Arch : x86_64 Version : 2.0.1 Release : 1.el6 Size : 25 k Repo : base Summary : Operating System Utilities JNI Package URL : http://pki.fedoraproject.org/ License : GPLv2 Description : The Operating System Utilities Java Native Interface (JNI) package : supplies various native operating system operations to Java : programs. # yum --disablerepo="*" --enablerepo="epel" info osutil Loaded plugins: fastestmirror, priorities, security Loading mirror speeds from cached hostfile * epel: ftp.osuosl.org Available Packages Name : osutil Arch : x86_64 Version : 1.3.1 Release : 3.el6.1 Size : 25 k Repo : epel Summary : Operating System Utilities JNI Package URL : http://pki.fedoraproject.org/ License : GPLv2 Description : The Operating System Utilities Java Native Interface (JNI) package : supplies various native operating system operations to Java : programs. |
Interestingly, this says that this package in EPEL is older than the one in CentOS base. Hence, this package should never get installed anyways. I find the existence of these duplicate packages more interesting than cause for concern. Perhaps these packages are also in EPEL in order to satisfy package dependencies …?
My System Configuration
- CentOS 6.5 x86 64-bit