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 |
# 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 |
# 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 |
# yum install yum-plugin-priorities
Verify that Yum plugins are enabled in /etc/yum.conf
:
Verify that the Yum priorities plugin is enabled in /etc/yum/pluginconf.d/priorities.conf
:
Now add priorities to repositories by adding the line:
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
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 |
# 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 |
# 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. |
# 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
References