20 Jahre Red Hat Enterprise Linux

Im Mai 2002 erschien die erste Version dessen, was sich heute als Red Hat Enterprise Linux (RHEL) großer Beliebtheit erfreut. Damals, noch als Red Hat Linux Advanced Server bekannt, vollzog die neue Distribution einen radikalen Paradigmenwechsel. Zeit, einen Blick in die Vergangenheit zu werfen.

Red Hat Linux und Fedora Core

RHEL 9 "Shrike"
Abb. 1: Red Hat Linux 9 „Shrike“

Während das frühere Red Hat Linux vor allem für Privat-Anwender:innen gedacht war, fokussiert das neue Enterprise-Linux im speziellen Geschäftskunden mit entsprechenden Support- und Schulungsangeboten. Red Hat Linux wurde daraufhin 2003 zugunsten RHEL eingestellt, der Support folgte 2004.

Aus der Code-Basis der letzten Red Hat Linux-Version 9 „Shrike“ entstand das Fedora Core-Projekt, welches heute als Fedora bekannt ist und die technische Spielwiese Red Hats darstellt. Dem Fedora Core-Projekt ging das Fedora.us-Projekt voraus, welches es sich zur Aufgabe gemacht hatte, zusätzliche Software-Pakete für Red Hat Linux zur Verfügung zu stellen. Im Rahmen von Fedora Legacy wurde RHL9 außerdem noch bis 2006 mit Patches einzelner Entwickler:innen versorgt.

Die Einstellung von Red Hat Linux wurde in der Community kritisiert, doch mit Fedora Core gab es eine würdige Nachfolge – ein unabhängiges Community-Projekt, welches Red Hat als größter Sponsor bis heute umfassend unterstützt. Dennoch stellen bis heute Red Hat-Mitarbeitende die Minderheit des Projektboards dar. Als direkte Weiterentwicklung von Red Hat Linux 9 erschien Fedora Core 1 am 05. November 2003. Es findet nach wie vor ein reger Austausch zwischen Red Hat und Fedora statt. Als sogenanntes Upstream halten kuratierte technische Neuerungen des Fedora-Projekts so Einzug in neue Hauptversionen der kommerziellen RHEL-Distribution.

Fedora Core 1 - Screenshot
Abb. 2: Fedora Core 1

Das dürfte auch den Namen erklären – so bezeichnet Fedora den roten Filzhut, der seit der Gründung Red Hats das Firmenlogo darstellt. 2006 wurden dann größere Umstrukturierungen im Fedora-Projekt beschlossen. Diese betrafen vor allem Software-Repositories, aber auch den Wegfall des Namenszusatzes „Core“ ab Version 7.

Fedora veröffentlicht seit jeher alle 6 Monate neue Hauptversionen, die für insgesamt 13 Monate unterstützt werden. Das bedeutet, dass Anwender:innen ein Release überspringen können, bevor sie das nächste Upgrade installieren. Somit ist Fedora immer am Nabel der Zeit – mit allen Vor- und Nachteilen.

Highlights

In 20 Jahren RHEL gab es viele verschiedene Releases und technischen Neuerungen – im Folgenden einige Highlights:

RHEL 2.1

Das erste RHEL-Release erschien im März 2002, das letzte Update 7 für 2.1 wurde im April 2005 veröffentlicht. Der Standard-Desktop war GNOME 1.4, – interessanterweise stand X11 noch nicht zur Verfügung, weswegen XFree86 4.1 zum Einsatz kam. Bei der Installation war das ext3-Dateisystem erstmalig vorausgewählt – dieses war das erste Journaling-Dateisystem der ext-Familie.

RHEL 3

RHEL 4 - Screenshot
Abb. 3: RHEL 4-Desktop

RHEL 3 erschien zuerst 2003, das letzte Update 9 wurde 2007 veröffentlicht. Eine der sehnlich erwarteten Ände-rungen war der neu hinzugekommene SATA-Support. Späterer iSCSI-Support sowie LVM- und Software RAID-Funktionalitäten rundeten den Storage-Stack ab. Die letzten beiden Features stammten von Sistina Software, die Red Hat später in 2003 für 31 Millionen US-Dollar übernahm.

Erstmals erhielten auch OpenOffice und auditd in RHEL 3.2 Einzug.

RHEL 4

Die neue Hauptversion 4 erschien erstmalig im Februar 2005. Nach 9 Updates wurde der Support im Februar 2011 eingestellt. Enterprise Linux 4 (EL 4) war die erste Version mit SELinux-Support. Auch brachte es bereits das microcode_ctl-Programm mit, mit welchem Microcode-Updates für Intel-CPUs installiert werden konnten.

RHEL 5

RHEL 5 wurde im März 2007 erstmalig der Öffentlichkeit zugänglich gemacht, der reguläre Support endete 2017. Damit war es das erste Release mit 10 Jahren regulären Support sowie 3 weiteren Jahren gegen Aufpreis im Rah-men des Extended Lifecycle Supports.

EL5 war die erste Version, die den yum-Paketmanager anstelle von up2date benutzte. Es brachte das Cluster-Dateisystem GFS2, einen NFS Dateisystem-Cache sowie den experimentellen OpenGL-beschleunigten Compiz-Compositor und AIGLX als Technical Preview mit. Gleichzeitig war es die letzte Version, welche die rückläufige Intel Itanium(2)-Architektur (ia64) unterstützte.

ext3 unterstützte erstmalig bis zu 16 TB Volumen, ext4 wurde ab Version 5.6 offiziell unterstützt. Das FUSE-Projekt, LVM, Firewire- und PCIe 3.0-Support wurden in späteren Updates ergänzt. Die OpenOffice-Suite fand in 5.5 ihr Debüt. Mit 5.7 rüstete Red Hat den KVM-Hypervisor sowie den neuen subscription-manager nach.

RHEL 6

Die nächste RHEL-Iteration wurde im November 2010 veröffentlicht, der allgemeine Support endete im November 2020 – erweiterter Support steht noch bis Juni 2024 zur Verfügung. EL6 ist die letzte Version, die 32-bit In-tel/AMD-Maschinen (i386) unterstützt.

Zu den technischen Neuerungen zählten NFSv4, USB 3.0-Support, sowie der Completely Fair Scheduler (CFS). Neu war auch ein „tickless Kernel“, welcher vor allem der Energieeffizienz zuträglich war. Frühere Kernel-Versionen mussten in periodischen Abständen erfragen, ob Aktionen ausgeführt werden sollen, was in einer höheren CPU-Aktivierung und höherem Stromverbrauch resultierte. Der neue Kernel unterstützt on-demand interrupts und erlaubt es so der CPU länger im Tiefschlaf zu verweilen. Mit tuned wurde ein Dienst eingeführt, der Systemkomponenten überwacht und dynamisch Systemparameter anpassen kann, um beispielsweise die Leistung von Hintergrunddiensten zu optimieren.

Ab 6.1 werden cgroups unterstützt, die heutzutage im Container-Kontext nicht mehr wegzudenken sind. Das Red

Hat Identity Management, dessen Upstream FreeIPA ist, feierte in 6.2 sein Debüt und wird seitdem stetig weiterentwickelt. Zusätzlich wurden zahlreiche VMware- und Hyper V-Treiber zwischen 6.4 und 6.6 ergänzt, um den Betrieb in virtualisierten Umgebungen zu optimieren. HA-Cluster nutzen in EL6 nun prinzipiell den Corosync-Stack, ab 6.5 unterstützt zudem die eigene Management-Kommandozeile pcs auch Pacemaker. Desktop-Anwender:innen freuen sich seit 6.6 über LibreOffice. Zudem wurden Red Hat Software Collections, die neuere Software-Stacks mit verkürzter Laufzeit anbieten, hinzugefügt. Außerdem unterstützt Red Hats Security SaaS-Angebot Insights RHEL ab Version 6.7. ReaR, chrony und unbound sind ab 6.8 fester Bestandteil der Distribution.

RHEL 7

RHEL 7 erschien erstmalig im Juni 2014, der allgemeine und erweiterte Support laufen im Juni 2024 bzw. 2026 aus. EL7 ist die erste Version, die systemd enthält. Zu den auffälligsten Änderungen gehören zudem:

  • XFS als Standard-Dateisystem
  • Web-Cockpit eingeführt
  • GNOME 3-Desktop

    Anaconda-Installer-Screenshot
    Abb. 4: Überarbeiteter Anaconda-Installer
  • Letzte Hauptversion mit optionalem KDE-Desktop (abgekündigt in 7.6)

Weiterhin löst nun MariaDB MySQL ab und GRUB2 tritt die Nachfolge von GRUB an. Der neue Bootloader unterstützt mehr Architekturen und Firmware-Typen – beispielsweise EFI. Darüber hinaus kann GRUB2 neben MBR auch mit GPT und zahlreichen weiteren Dateisystemen umgehen. Der stark überarbeitete Anaconda-Installer muss viel Kritik einstecken und wurde im Laufe der Minor-Updates immer wieder stabilisiert.
VMwares open-vm-tools sind nun Bestandteil der Distribution und müssen nicht mehr manuell installiert oder kompiliert werden. KVM-Gäste können nun USB 3.0 nutzen und für Windows-VMs werden WHQL-zertifizierte Treiber mitgeliefert. RHEL kann ergänzend als Hyper V Gen 2-VM betrieben werden.

In RHEL 7 wird Btrfs als Technical Preview integriert und in 7.4 schon wieder abgekündigt. Eine bemerkenswerte Entscheidung – während andere Distributionen Btrfs produktiv einsetzen, bleibt Red Hat bei XFS. Es wird versucht dieses mit Stratis etwas flexibler zu machen – allerdings mit sehr überschaubarer Begeisterung der Anwender:innen. Bis heute hat Stratis den Technical Preview-Status nicht verlassen und fristet ein Schattendasein. Allerdings ist Samba 4 von Anfang an mit dabei. Mit kpatch wurde in 7.1 ein Live-Patching-Mechanismus vorge-stellt, der es erlaubt, Kernel-Module im laufenden Betrieb ohne Reboot auszutauschen. Das ist vor allem für kritische Sicherheitspatches und Umgebungen mit hohen Verfügbarkeitsanforderungen gedacht.

RHEL KDE-Desktop
Abb. 5: Der letzte RHEL KDE-Desktop

Docker wird erstmalig mit der Distribution ausgeliefert. Jedoch wird das Paket – nicht zuletzt wegen diverser Streitereien zwischen Docker und Red Hat – weniger aktiv gepflegt. Die meisten Anwender:innen verwenden das offizielle Docker-Repository, während Red Hat parallel die eigene Container-Runtime Podman pusht. Dieses wird mit RHEL 7.6 offiziell unterstützt und bietet gegenüber Docker einen schlankeren und weitaus weniger sicherheitsanfälligen Footprint.

Mit VDO (Virtual Disk Optimizer) wurde in 7.5 eine Speicherschicht eingeführt, die Thin-Provisioning, Dedupli-zierung und Komprimierung erlaubt. Gedacht ist das Ganze vor allem für die Ablage von VMs und Containern. Darüber hinaus wurde Python 2 abgekündigt sowie erste Tests mit der ARM-Architektur durchgeführt, bevor 7.6 ein erstes offizielles Abbild beinhaltet.

Mit eBPF (Extended Berkeley Packet Filter) hielt ein mächtiges Werkzeug Einzug in RHEL 7.6 – es kann zur effizienten Überwachung von Netzwerk-Aktivitäten benutzt werden. Einen Vorgeschmack auf das kommende RHEL 8 liefern bereits RHEL 7.7 und 7.8, in welchen Wayland, Fractional Scaling und der yum-Nachfolger dnf als Technical Previews Einzug halten.

RHEL 8

RHEL 8 wurde zuerst im Mai 2019 der Öffentlichkeit zugänglich gemacht, der allgemeine und erweiterte Support laufen im Mai 2029 bzw. 2031 aus. Die markanteste Änderung ist die Aufteilung der Software-Pakete in BaseOS und AppStream (wir berichteten). Das modulare Konzept unterscheidet zukünftig zwischen konservativen und moderneren Software-Paketen – früher wurden sämtliche Pakete der Distribution stets konservativ behandelt. So haben Anwender:innen beispielsweise die Möglichkeit neuere Python- oder Datenbank-Versionen einzuset-zen, als die im BaseOS veröffentlichten Varianten.

Yum wurde durch dnf ersetzt, was vor allem in besserer Geschwindigkeit und Abhängigkeitsauflösung resultiert. Anwender:innen dürfte das nicht auffallen, da die Kommandos gleichgeblieben sind und ein symbolischer Link auf yum erstellt wird.

Python 3.6 ist nun der Standard, es gibt limitierten Support für das abgekündigte Python 2.7. GNOME kommt in Version 3.28 mit, Wayland ist der Standard, X11 steht aber weiterhin zur Verfügung. Desktop-User können zudem Firmware-Updates über fwupd installieren, falls

Cockpit-Screenshot
Abb. 6: Cockpit-Oberfläche

das Endgerät unterstützt wird. Flatpak rundet ab 8.3 das Anwendungsangebot ab, als Technical Preview steht der GNOME-Desktop nun auch für ARM und IBM Z zur Verfügung.
ePBF hat den Technical Preview-Status verlassen und LUKS2 ersetzt den in die Jahre gekommenen LUKS1-Algorithmus. Als Firewall kommt firewalld zum Einsatz und nftables ersetzt iptables.
Die Web-Konsole Cockpit wurde stark überarbeitet – so können nun auch VMs verwaltet werden, da virt-manager abgekündigt wurde. Ab 8.3 gibt es mit RHEL for Edge spezialisierte Minimal-Images und Tools zur Erstellung dieser für Edge-Szenarien.

Downstreams

Da der Quellcode jedes RHEL-Releases im Rahmen der Lizenzvereinbarung als Quellcode veröffentlicht wird, gab es bereits früh sogenannte Downstreams. Diese ersetzen unter anderem die Red Hat-Warenzeichen und übersetzen die Pakete in Binärdateien. CentOS ist das erste und bekannteste Projekt dieser Art. Es wurde zunächst von Freiwilligen und später auch von Red Hat-Angestellen gepflegt. Zwischen 2004 und 2020 veröffentlichte das Projekt auf Basis des jeweiligen aktuellen RHEL-Releases entsprechende CentOS-Versionen. Nachdem Red Hat das Projekt 2014 übernahm, wurde es 2020 zugunsten von CentOS Stream eingestellt (wir berichteten). So wird CentOS 7 wie geplant weiterhin bis 2024 gepflegt – der Support für CentOS 8 wurde bereits Ende 2021 eingestellt und ein Release auf Basis von RHEL9 wird nie erscheinen.

Ein weiteres bekanntes Downstream war das vom CERN entwickelte Scientific Linux. Fokussiert auf spezielle Anforderungen aus dem wissenschaftlichen Bereich, wurde es zwischen 2004 und 2014 entwickelt. Ein ähnliches Projekt namens Springdale Linux wird seit knapp 10 Jahren von der Princeton Universität verfolgt.

Anaconda-Änderungen
Abb. 7: Eine der wenigen Anaconda-Änderungen

Ein kommerzielles Downstream ist Oracle Linux, welches seit 2006 besteht. Im Unterschied zu anderen Projekten bietet Oracle hier optional einen eigenen Kernel mit zahlreichen Anpassungen für die eigenen Produkte sowie den Live Patching-Service Ksplice. Mit Rocky Linux und AlmaLinux gibt es zwei Projekte, welche die Nachfolge von CentOS antreten und somit eine Alternative zu CentOS Stream und dem kommerziellen RHEL darstellen.

Blick in die Zukunft: RHEL 9

Die kommende RHEL-Hauptversion fokussiert vor allem sicherheitsrelevante Änderungen. So kommen nun OpenSSL 3.0 und OpenSSH 8.6 zum Einsatz – letzteres bietet U2F und FIDO-Support. SHA-1 ist im Zusammenhang mit TLS, SSH, IKEv2 und Kerberos nicht mehr zulässig. SELinux kann nicht mehr vollständig deaktiviert werden – es ist jedoch möglich, SELinux ohne Policy zu verwenden. Darüber hinaus können Sudo-Plugins nun auch in Python entwickelt werden.
WireGuard ist als Technical Preview enthalten, während iptables, ebtables und arptables abgekündigt wurden. Die WEP-Verschlüsselung für WLAN-Netzwerke wurde entfernt.

Der Software-Stack umfasst zudem neuere Programmiersprachen:

  • Node.js 16
  • Perl 5.32
  • PHP 8.0
  • Python 3.9
  • Ruby 3.0

AMD SEV/SEV-ES für KVM-Gäste und Intel SGX (Software Guard Extensions) sind als Technical Preview enthalten. Bei der System-Installation kann direkt eine Registrierung mit Red Hat Satellite erfolgen.

Fazit

In 20 Jahren RHEL hat sich viel getan – sowohl in technischer als auch organisatorischer Natur. RHEL ist gereift und zu einem Defacto-Standard geworden. Nicht zuletzt durch Red Hats „open first“-Strategie hat Red Hat viele Open Source-Entwicklungen ermöglicht oder beschleunigt. Viele Techniken sind gekommen und gegangen und Red Hat hatte immer ein gutes Händchen dabei einen möglichst allgemeinen Kompromiss zwischen Stabilität und Aktualität zu finden. Seit RHEL8 gibt es glücklicherweise aber auch immer die Möglichkeit deutlich aktuellere Pakete einzusetzen – was einige Anwender:innen erfreuen dürfte.
In diesem Sinne: vielen Dank und auf weitere 20 Jahre RHEL!


Quellen: