Although it’s been a while since the release of Red Hat Enterprise Linux 8, the corresponding version of the EPEL
repository (Extra Packages for Enterprise Linux) was only released few days ago. The repository contains packages that are not provided by the official software sources, as for example extundelete
, an utility to recover deleted files from ext3/4 filesystems. Until now the solution to install those software was to build it from source or to use the previous version of EPEL (less than ideal). In this tutorial we will see how to add EPEL8 to RHEL 8 / CentOS 8.
In this tutorial you will learn:
- How to add the EPEL8 repository to RHEL 8 / CentOS 8
- How to check all the packages contained in the EPEL8 repository
Software Requirements and Conventions Used
Category | Requirements, Conventions or Software Version Used |
---|---|
System | Rhel/CentOS |
Software | No specific software is needed to follow this tutorial |
Other | Administrative privileges to install and configure the repository |
Conventions | # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command$ – requires given linux commands to be executed as a regular non-privileged user |
Installing the configuration package
Enabling the EPEL8
repository on RHEL 8 / CentOS 8 is very simple: all we need to do is to download and install the configuration package which contains the repository files. The file is available for download at the following address. For the sake of this tutorial I will assume we are operating from the command line interface. We don’t need to download the package to install it: we can perform the operation directly using dnf
package manager:
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
We just use dnf
with the install
sub-command, and provide the URL
of the package (in this case we used the https
protocol). Once we run the command above an overview of the operations that would be performed is displayed, and we are prompted to confirm that we want to install the package:
================================================================================ Package Arch Version Repository Size ================================================================================ Installing: epel-release noarch 8-5.el8 @commandline 21 k Transaction Summary ================================================================================ Install 1 Package Total size: 21 k Installed size: 30 k Is this ok [y/N]: y
If we confirm by typing “y” and pressing enter, the package will be installed. It contains the files needed to configure the additional software sources. To see where those files have been installed, we can run the following command:
$ sudo rpm -ql epel-release
In the command above, the -q
option is the short for --query
, while -l
is short for --list
, and is used to list the files contained in a package. The command above produces the following output:
/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 /etc/yum.repos.d/epel-playground.repo /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel.repo /usr/lib/systemd/system-preset/90-epel.preset /usr/share/doc/epel-release /usr/share/doc/epel-release/GPL /usr/share/doc/epel-release/README-epel-8-packaging.md
Apart from the documentation files and the repository public gpg key
, we can see that three repository configuration files have been installed, they are the files with the .repo
extension: epel
, epel-playground
and epel-testing
. The first one is the main repository, the one which is enabled by default, the other two contain experimental version of software packages and must be enabled explicitly. To verify that the EPEL
repository has been enabled we can run:
$ sudo dnf repolist -v
The command, if invoked as above, displays a list of all repositories enabled in the system (it can also be used to display only the disabled ones or all the repositories existing in the system). By providing the -v
option, (short for --verbose
), we can obtain a more detailed report:
Repo-id : epel Repo-name : Extra Packages for Enterprise Linux 8 - x86_64 Repo-revision: 1566008900 Repo-updated : Sat 17 Aug 2019 04:28:41 AM CEST Repo-pkgs : 332 Repo-size : 110 M Repo-metalink: https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=$infra&content=$contentdir Updated : Sat 17 Aug 2019 02:08:39 PM CEST Repo-baseurl : rsync://ftp.nluug.nl/fedora-epel/8/Everything/x86_64/ (78 more) Repo-expire : 172,800 second(s) (last: Sat 17 Aug 2019 02:08:39 PM CEST) Repo-filename: /etc/yum.repos.d/epel.repo Repo-id : rhel-8-for-x86_64-appstream-rpms Repo-name : Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) Repo-revision: 1565891235 Repo-updated : Thu 15 Aug 2019 07:47:15 PM CEST Repo-pkgs : 5,759 Repo-size : 8.5 G Repo-baseurl : https://cdn.redhat.com/content/dist/rhel8/8/x86_64/appstream/os Repo-expire : 86,400 second(s) (last: Thu 01 Jan 1970 01:00:00 AM CET) Repo-filename: /etc/yum.repos.d/redhat.repo Repo-id : rhel-8-for-x86_64-baseos-rpms Repo-name : Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) Repo-revision: 1565191031 Repo-updated : Wed 07 Aug 2019 05:17:11 PM CEST Repo-pkgs : 2,097 Repo-size : 1.9 G Repo-baseurl : https://cdn.redhat.com/content/dist/rhel8/8/x86_64/baseos/os Repo-expire : 86,400 second(s) (last: Thu 01 Jan 1970 01:00:00 AM CET) Repo-filename: /etc/yum.repos.d/redhat.repo Total packages: 8,188
As we can see from the output of the command, the repository has been correctly activated, it is the first one in the list.
List the packages contained in the EPEL8 repository
Once we install and enable the EPEL
repository, we can take advantage of the additional software packages it provides, installing them as usual. But what if we want to know all the packages contained in the repository? Once again, all we must do is to use dnf
providing the repo_id
of the repository we want to inspect, “epel” in this case:
$ sudo dnf repository-packages epel list
Here is an excerpt of the command result:
$ sudo dnf repository-packages epel list Updating Subscription Management repositories. Last metadata expiration check: 0:17:42 ago on Sat 17 Aug 2019 02:08:43 PM CEST. Available Packages Available Packages amavisd-new.noarch 2.12.0-1.el8 epel amavisd-new-doc.noarch 2.12.0-1.el8 epel amavisd-new-snmp.noarch 2.12.0-1.el8 epel apachetop.x86_64 0.19.7-1.el8 epel arj.x86_64 3.10.22-30.el8 epel beecrypt.x86_64 4.2.1-23.el8 epel beecrypt-apidocs.x86_64 4.2.1-23.el8 epel beecrypt-devel.x86_64 4.2.1-23.el8 epel bgpdump.x86_64 1.6.0-2.el8 epel bird.x86_64 2.0.4-1.el8 epel bird-doc.noarch 2.0.4-1.el8 epel bodhi-client.noarch 4.0.2-2.el8.1 epel bodhi-composer.noarch 4.0.2-2.el8.1 epel bodhi-server.noarch 4.0.2-2.el8.1 epel cc1541.x86_64 2.0-3.el8 epel cc65.x86_64 2.18-8.el8 epel cc65-devel.noarch 2.18-8.el8 epel cc65-doc.noarch 2.18-8.el8 epel cc65-utils.x86_64 2.18-8.el8 epel cfitsio.x86_64 3.47-1.el8 epel cfitsio-devel.x86_64 3.47-1.el8 epel cfitsio-docs.noarch 3.47-1.el8 epel cfitsio-static.x86_64 3.47-1.el8 epel [...]
As we can see from the output of the command, a lot of software usually provided by the EPEL
channel is still missing from the repository, as for example packages needed to install alternative desktop environments like Xfce4
or utilities like phpMyAdmin (check our tutorial about installing it from source, as an alternative). Those packages will be probably provided in the future.
Conclusion
In this tutorial we learned how to install and enable the EPEL8 repository on RHEL 8 / CentOS 8. We saw how to install the auto-configuration package which provides the “.repo” files which contain the repository configuration. We also learned how to verify that the new software source has been added to the system, and how to list all the package provided by it.
Although it’s been a while since the release of Red Hat Enterprise Linux 8, the corresponding version of the EPEL
repository (Extra Packages for Enterprise Linux) was only released few days ago. The repository contains packages that are not provided by the official software sources, as for example extundelete
, an utility to recover deleted files from ext3/4 filesystems. Until now the solution to install those software was to build it from source or to use the previous version of EPEL (less than ideal). In this tutorial we will see how to add EPEL8 to RHEL 8 / CentOS 8.