Skip to content
Search RunEntLinux

Searches general documentation on RunEntLinux. Each distribution has its own documentation search.

    Browse this documentation

    EL 8: A new toolchain

    EL 7 served an exceptionally long tour (2014–2024), so EL 8’s generational gap is unusually wide: the kernel jumps from 3.10 to 4.18, GCC from 4.8 to 8, Python from 2.7 to 3.6, glibc from 2.17 to 2.28, and OpenSSL from 1.0.2 to 1.1.1. Even the yum command itself becomes a front end for DNF.

    • Python 2 → 3: EL 8 no longer provides /usr/bin/python by default; system tooling moves fully to Python 3.6, with Python 2 kept only as the python2 package for legacy scripts. This is where the EL ecosystem starts saying goodbye to Python 2.
    • yum → DNF: the yum command stays, but the backend becomes DNF (libsolv dependency solving, more reliable transactions, C++ implementation). Everyday syntax is unchanged; the yum plugin ecosystem must move to dnf plugins.
    • GCC 8 / glibc 2.28: a higher default C++ standard and new warnings; glibc brings more complete C11 threads and thread-local storage support.
    • OpenSSL 1.1.1: TLS 1.3 enters the default stack, laying the groundwork for the later crypto policies.
    • Kernel 4.18: substantially stronger eBPF capabilities and a wider new-hardware support surface.
    ComponentEL 7EL 8Notes
    kernel3.104.18
    GCC4.88
    glibc2.172.28
    Python (system)2.73.6/usr/bin/python absent by default
    OpenSSL1.0.21.1.1TLS 1.3
    Package manager front endyum (yum3)yum → DNF front endcommand-compatible

    For current versions per distribution, see the package version matrix.

    • Python 2 scripts: scripts with a #!/usr/bin/python or #!/usr/bin/env python shebang find no interpreter on EL 8; switch the shebang to python3, or install python2 and name it explicitly.
    • yum plugins and wrappers: anything relying on yum’s Python API stops working; move to dnf plugins or the dnf CLI.
    • In-house C/C++: GCC 8’s new default warnings and glibc symbol changes may require rebuild validation.
    • TLS peers: 1.1.1 disables some old cipher suites by default; handshakes with very old clients and devices need evaluation.
    Print key versions and the interpreter situation
    uname -r
    gcc --version | head -1
    python3 --version
    ls -l /usr/bin/python 2>&1 # absent by default on EL 8
    1. Scan repositories for #!/usr/bin/python shebangs and yum plugin dependencies;
    2. Rebuild in-house components in an EL 8 environment;
    3. Run a connectivity regression for TLS handshakes with legacy devices.