Extra Packages for Enterprise Linux (EPEL) - Amazon Linux 2023

Extra Packages for Enterprise Linux (EPEL)

Warning

The AL2 epel Extra enabled the third party EPEL7 repository. As of 2024-06-30 the third-party EPEL7 repository is no longer being maintained.

This third-party repository will have no future updates. This means there will be no security fixes for packages in the EPEL repository.

This section will cover options in AL2023 for some packages found in EPEL.

Extra Packages for Enterprise Linux (EPEL) is a project in the Fedora community with the objective of creating a large array of packages for enterprise-level Linux operating systems. The project has primarily produced RHEL and CentOS packages. AL2 features a high level of compatibility with CentOS 7. As a result, many EPEL7 packages work on AL2.

There is not currently an EPEL or EPEL-like repository for AL2023. However, there are a number of packages that were in EPEL7 that customers have used on AL2 which are either available in AL2023, or have alternatives in AL2023. This section will cover some of these packages and what the options are in AL2023.

Warning

Only add repositories designed to be used with AL2023.

While repositories designed for other distributions may work today, there is no guarantee they will continue to do so with any package update in AL2023 or the repository not designed for use with AL2023.

There are also packages were installable from EPEL on AL2 which will not be added to AL2023. Common reasons for this are issues such as the upstream project no longer being maintained, or not fixing CVEs. This section will also cover some of these packages and what alternatives exist.

axel - HTTP/FTP client

The axel package was in EPEL7, and has not ever shipped as part of Amazon Linux. Alternatives available in AL2023 are curl and wget.

Warning

The -S option to axel uses an unencrypted http connection to discover mirrors for a file.

It is highly recommended to migrate any use of axel over to either curl or wget.

brotli and libbrotli - compression

The brotli and libbrotli packages were in EPEL7, while just the brotli package was available in AL2 core.

Both the brotli and libbrotli packages are included in AL2023.

The brotli package can be installed on AL2023 with the following command:

[ec2-user ~]$ sudo dnf install brotli

The libbrotli package can be installed on AL2023 with the following command:

[ec2-user ~]$ sudo dnf install libbrotli

collectd - Statistics collection daemon

The collect package was in EPEL7, and was also available in the collectd and collectd-python3 AL2 Extras.

The collectd package is included in AL2023 and can be installed by running the following command:

[ec2-user ~]$ sudo dnf install collectd

cpulimit - CPU Usage limiter

In Amazon Linux 2023, systemd provides functionality to limit the CPU usage of processes, or groups of processes. This functionality is also easy to use for any systemd service.

There are powerful resource control facilities provided by systemd which can be used to ensure any task or group of tasks is limited in what resources it can consume. For more information, see systemd.resource-control.

exim - mail transfer agent

The exim package was in EPEL7, and previously available in AL1. Amazon Linux 2023 provides both the postfix and sendmail Mail Transfer Agents (MTAs).

fuse3 - File System in Userspace (FUSE) v3

The fuse3 package (including fuse3-libs and fuse3-devel) were in EPEL7. These packages are part of AL2023, and each can be installed by running the relevant following command:

[ec2-user ~]$ sudo dnf install fuse3
[ec2-user ~]$ sudo dnf install fuse3-libs
[ec2-user ~]$ sudo dnf install fuse3-devel

ganglia - Distributed Monitoring System

The ganglia package was in EPEL7, and previously available in AL1. It was not shipped with AL2.

The upstream project had a period of inactivity where some open CVEs were not being addressed. While there has been recent activity in the upstream project, it is not planned to add ganglia to AL2023.

git-lfs - version control large files with Git

The git-lfs package was in EPEL7. In Amazon Linux 2023, the git-lfs package is included in the core repository. On AL2023, git-lfs can be installed by running the following command:

[ec2-user ~]$ sudo dnf install git-lfs

haveged - an entropy source using the HAVEGE algorithm

The haveged package was in EPEL7. Amazon Linux 2023 comes pre-configured with entropy sources, not requiring the use of haveged.

inotify-tools - inotify command line tools

The inotify-tools package was in EPEL7, and is included in AL2023.

Note

In AL2023, systemd supports path based activation which can be used for taking action on events such as when a path exists or changes.

Much of what inotify-tools is used for can now be better accomplished in a more reliable manner using systemd path activation. For more information, see systemd.path.

The inotify-tools package is included in AL2023 and can be installed by running the following command:

[ec2-user ~]$ sudo dnf install inotify-tools

iperf - TCP/UDP Performance benchmark

The iperf version 2 package was in EPEL7, and was also available in the testing AL2 Extra. and was also available in AL1

Note

The iperf3 package is also available, providing version 3 of iperf.

The iperf package is included in AL2023 and can be installed by running the following command:

[ec2-user ~]$ sudo dnf install iperf

jemalloc - alternative malloc implementation

The jemalloc package was in EPEL7, and was available in the lamp-mariadb10.2-php7.2 and mariadb10.5 AL2 Extras.

The jemalloc package is included in AL2023 and can be installed by running the following command:

[ec2-user ~]$ sudo dnf install jemalloc

libbsd - BSD-compatible function library

The libbsd package was in EPEL7, and was also available in the testing AL2 Extra.

The libbsd package is included in AL2023 and can be installed by running the following command:

[ec2-user ~]$ sudo dnf install libbsd

The development files for libbsd can be installed by running the following command.

[ec2-user ~]$ sudo dnf install libbsd-devel

libserf - HTTP Client Library

The libserf package was in EPEL7. The libserf package is provided in Amazon Linux 2023. It can be installed by running the following command:

[ec2-user ~]$ sudo dnf install libserf

libzstd - zstd compression library

The libzstd package was in AL2 core, as well as in EPEL7. The libzstd package is also part of AL2023.

[ec2-user ~]$ sudo dnf install libzstd

lighttpd web server

The lighttpd package was in EPEL7, and previously available in AL1. Amazon Linux 2023 provides both the Apache httpd and nginx web servers.

lshell - a restricted shell

The lshell package has never been shipped as part of Amazon Linux. It was available in EPEL6. The Fedora packaging repository for lshell covers why it was not packaged in EPEL7 or Fedora 30. It was also removed from Debian.

The upstream lshell project is no longer being actively maintained, and contains known unpatched Critical CVEs: CVE-2016-6902 and CVE-2016-6903.

The alternative suggested in the Debian bug, rssh is also unmaintained upstream, with the author citing unfixable security issues as the reason.

For these reasons, adding lshell to AL2023 is not planned.

monit - process, file, directory, and devices monitor

In Amazon Linux 2023, systemd provides a wide array of functionality for monitoring, starting, stopping, and restarting services. This includes rate limiting restarts, waiting between restart attempts, and starting another service on failure. For more information, see the systemd.service documentation.

In AL2023, systemd also supports path based activation which can be used for taking action on events such as when a path exists or changes. For more information, see systemd.path.

There are common configuration options for systemd units which allow specifying dependencies, conditionals, and actions to take on success or failure. For more information, see the systemd.unit documentation.

There are powerful resource control facilities provided by systemd which can be used to ensure any monitoring task does not use excessive CPU or memory. For more information, see systemd.resource-control.

nodejs

The nodejs version 16 package was in EPEL7, and nodejs is now included in AL2023. At the time of writing, both nodejs version 18 and 20 were available in AL2023. You can install nodejs 18 on AL2023 with the following command:

[ec2-user ~]$ sudo dnf install nodejs

You can install nodejs 20 on AL2023 with the following command:

[ec2-user ~]$ sudo dnf install nodejs20

perl-Config-General

The perl-Config-General package was in EPEL7, and is now included in AL2023. You can install the perl-Config-General package in AL2023 with the following command:

[ec2-user ~]$ sudo dnf install perl-Config-General

Perl modules can also be installed by asking DNF to install the package that provides a particular Perl module. With this method, you can use the more familiar Perl module name rather than the OS package name.

[ec2-user ~]$ sudo dnf install 'perl(Confg::General)'

python2-lockfile - file locking

The python2-lockfile package was in EPEL7, and AL2 included a python-lockfile package. In AL2023 Python 2.7 has been replaced with Python 3, so a Python 2 variant of this package will not be added to AL2023.

The Python 3 version of this package is included in AL2023. You can install the python3-lockfile package in AL2023 with one of the following commands:

[ec2-user ~]$ sudo dnf install python3-lockfile

Python modules can also be installed by asking DNF to install the package that provides a particular Python module.

[ec2-user ~]$ sudo dnf install 'python3dist(lockfile)'

python2-rsa - pure Python RSA

The python2-rsa package was in EPEL7, and AL2 included a python2-rsa package. In AL2023 Python 2.7 has been replaced with Python 3, so a Python 2 variant of this package will not be added to AL2023.

The Python 3 version of this package is included in AL2023. You can install the python3-rsa package in AL2023 with one of the following commands:

[ec2-user ~]$ sudo dnf install python3-rsa

Python modules can also be installed by asking DNF to install the package that provides a particular Python module.

[ec2-user ~]$ sudo dnf install 'python3dist(rsa)'

python2-simplejson - JSON routines for Python 2

The python2-simplejson package was in EPEL7. In AL2023 Python 2.7 has been replaced with Python 3, so a Python 2 variant of this package will not be added to AL2023.

The Python 3 version of this package is included in AL2023. You can install the python3-simplejson package in AL2023 with the following command:

[ec2-user ~]$ sudo dnf install python3-simplejson

Python modules can also be installed by asking DNF to install the package that provides a particular Python module.

[ec2-user ~]$ sudo dnf install 'python3dist(simplejson)'

rkhunter - Rootkit Hunter

The rkhunter package is included in AL2023 along with chkrootkit.

[ec2-user ~]$ sudo dnf install rkhunter
[ec2-user ~]$ sudo dnf install chkrootkit

rssh - a restricted shell for use with OpenSSH

The rssh package was in EPEL7. The upstream rssh package is unmaintained, with the author citing unfixable security issues as the reason.

With the author citing unfixable security issues, adding rssh to AL2023 is not planned.

sscg - self-signed SSL certificate generator

The sscg package was in AL2 core, as well as in EPEL7. The sscg package is also part of AL2023.

[ec2-user ~]$ sudo dnf install sscg

stress - Stress test

The stress package was in EPEL7, and was also available in AL1

The stress package is included in AL2023 and can be installed by running the following command:

[ec2-user ~]$ sudo dnf install stress

stress-ng - Stress test

The stress-ng package was in EPEL7, and was also available in the testing AL2 Extra.

The stress-ng package is included in AL2023 and can be installed by running the following command:

[ec2-user ~]$ sudo dnf install stress-ng

tmpwatch - removes files based on last accessed time

In Amazon Linux 2023, this functionality is provided by systemd-tmpfiles.

xmlstarlet - command line XML utilitise

The xmlstarlet package was in EPEL7, and is not available in AL2023.

The upstream package has not been touched in over 9 years (last touched in August 2014). For an additional four years prior (since at least July 2010), a request for a new maintainer has gone unanswered. It is for this reason that it is not planned to add xmlstarlet to AL2023.