Red Hat hat die Veröffentlichung von Red Hat Enterprise Linux 9 bekanntgegeben. Die installierbaren Abbilder werden in Kürze für registrierte Benutzer des Red Hat Customer Portal verfügbar sein (zur Funktionalitätsbewertung können auch die ISO-Abbilder von CentOS Stream 9 verwendet werden). Die Version ist für die Architekturen x86_64, s390x (IBM System z), ppc64le und Aarch64 (ARM64) verfügbar. Die Quelltexte der RPM-Pakete von Red Hat Enterprise Linux 9 sind im Git-Repository von CentOS abgelegt. Entsprechend dem 10-jährigen Supportzyklus wird RHEL 9 bis 2032 unterstützt. Updates für RHEL 7 werden bis zum 30. Juni 2024 fortgesetzt, RHEL 8 bis zum 31. Mai 2029.
Die Distribution Red Hat Enterprise Linux 9 zeichnet sich durch einen Übergang zu einem offeneren Entwicklungsprozess aus. Im Gegensatz zu früheren Versionen basiert diese Distribution auf der Paketbasis von CentOS Stream 9. CentOS Stream wird als Upstream-Projekt für RHEL positioniert, das externen Teilnehmern ermöglicht, die Paketvorbereitung für RHEL zu überwachen, eigene Änderungen vorzuschlagen und Einfluss auf die getroffenen Entscheidungen zu nehmen. Früher wurde für die neue RHEL-Version ein Snapshot einer Fedora-Version verwendet, die hinter verschlossenen Türen weiterentwickelt und stabilisiert wurde, ohne dass es Möglichkeiten gab, den Entwicklungsfortschritt und die getroffenen Entscheidungen zu kontrollieren. Nun wird auf der Grundlage eines Fedora-Snapshots in Zusammenarbeit mit der Community der CentOS Stream-Zweig entwickelt, in dem Vorarbeiten geleistet werden und die Grundlage für einen neuen bedeutenden RHEL-Zweig geschaffen wird.
Wichtige Änderungen:
- Die Systemumgebung und die Build-Tools wurden aktualisiert. Für die Paketkompilierung wird GCC 11 eingesetzt. Die Standard-C-Bibliothek wurde auf glibc 2.34 aktualisiert. Das Kernel-Paket basiert auf der Version 5.14. Der RPM-Paketmanager wurde auf Version 4.16 mit Unterstützung für Integritätsprüfung über fapolicyd aktualisiert.
- Die Migration der Distribution auf Python 3 ist abgeschlossen. Standardmäßig wird die Version Python 3.9 angeboten. Die Bereitstellung von Python 2 wurde eingestellt.
- Der Desktop basiert auf GNOME 40 (in RHEL 8 wurde GNOME 3.28 geliefert) und der GTK 4-Bibliothek. In GNOME 40 haben die virtuellen Desktops im Aktivitätsübersicht (Activities Overview) eine horizontale Ausrichtung erhalten und werden als fortlaufend von links nach rechts scrollende Kette angezeigt. Auf jedem Desktop, der in der Aktivitätsübersicht gezeigt wird, werden die offenen Fenster deutlich dargestellt, wobei dynamisches Scrollen und Zooming während der Benutzerinteraktion ermöglicht wird. Ein nahtloser Übergang zwischen der Programmliste und den virtuellen Desktops wird gewährleistet.
- In GNOME wird der Power-Profiles-Daemon verwendet, der die Möglichkeit bietet, zwischen dem Energiesparmodus, dem ausgewogenen Energiemodus und dem Höchstleistungsmodus im laufenden Betrieb zu wechseln.
- Alle Audio-Streams wurden auf den Multimedia-Server PipeWire umgestellt, der nun standardmäßig anstelle von PulseAudio und JACK verwendet wird. Der Einsatz von PipeWire ermöglicht es, in der regulären Desktop-Umgebung professionelle Audioverarbeitung bereitzustellen, Fragmentierung zu vermeiden und die Audioinfrastruktur für verschiedene Anwendungen zu vereinheitlichen.
- Das Bootmenü von GRUB ist standardmäßig verborgen, wenn RHEL das einzige installierte System ist und der letzte Bootvorgang ohne Fehler verlief. Um das Menü während des Bootens anzuzeigen, halten Sie einfach die Umschalttaste gedrückt oder drücken Sie mehrmals die Esc- oder F8-Taste. Zu den Änderungen im Bootloader gehört auch, dass die Konfigurationsdateien von GRUB für alle Architekturen in einem Verzeichnis /boot/grub2/ angeordnet sind (die Datei /boot/efi/EFI/redhat/grub.cfg ist nun ein symbolischer Link zu /boot/grub2/grub.cfg), d.h. dass dasselbe installierte System sowohl über EFI als auch über BIOS gestartet werden kann.
- Die Komponenten zur Unterstützung verschiedener Sprachen sind in die Pakete langpacks ausgelagert, die es ermöglichen, das Niveau der installierten Sprachunterstützung zu variieren. Zum Beispiel bietet das Paket langpacks-core-font nur Schriftarten an, während langpacks-core die Locale für glibc, die Standardschriftart und die Eingabemethode sowie in langpacks Übersetzungen, zusätzliche Schriftarten und Wörterbücher zur Rechtschreibprüfung umfasst.
- Die Sicherheitskomponenten wurden aktualisiert. Im Distribution wird ein neuer Branch der Kryptobibliothek OpenSSL 3.0 verwendet. Modernere und zuverlässigere kryptografische Algorithmen sind standardmäßig aktiviert (z. B. ist die Verwendung von SHA-1 in TLS, DTLS, SSH, IKEv2 und Kerberos verboten, die Protokolle TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES und FFDHE-1024 wurden deaktiviert). Das OpenSSH-Paket wurde auf Version 8.6p1 aktualisiert. Cyrus SASL wurde auf das GDBM-Backend anstelle von Berkeley DB umgestellt. In den NSS-Bibliotheken (Network Security Services) wird das DBM-Format (Berkeley DB) nicht mehr unterstützt. GnuTLS wurde auf Version 3.7.2 aktualisiert.
- Die Leistung von SELinux wurde erheblich verbessert und der Speicherverbrauch gesenkt. In /etc/selinux/config wurde die Unterstützung für die Einstellung "SELINUX=disabled" zum Deaktivieren von SELinux entfernt (die angegebene Einstellung deaktiviert jetzt nur das Laden der Richtlinien, und um die Funktionalität von SELinux tatsächlich zu deaktivieren, muss jetzt der Parameter "selinux=0" an den Kernel übergeben werden).
- Experimentelle Unterstützung hinzugefügt VPN WireGuard.
- Der SSH-Zugriff als Root-Benutzer ist standardmäßig verboten.
- Die Verwaltungstools für das Paketfilter iptables-nft (Utilities iptables, ip6tables, ebtables und arptables) sowie ipset wurden als veraltet erklärt. Zur Verwaltung der Firewall wird nun empfohlen, nftables zu verwenden.
- Im Lieferumfang ist ein neuer Dienst mptcpd enthalten, der zur Konfiguration von MPTCP (MultiPath TCP) dient, einer Erweiterung des TCP-Protokolls, die es ermöglicht, TCP-Verbindungen gleichzeitig über mehrere Routen über verschiedene Netzwerkschnittstellen mit unterschiedlichen IP-Adressen herzustellen. Die Verwendung von mptcpd ermöglicht die Konfiguration von MPTCP ganz ohne das Dienstprogramm iproute2.
- Das Paket network-scripts wurde entfernt; zur Konfiguration von Netzverbindungen sollte NetworkManager verwendet werden. Die Unterstützung des ifcfg-Format bleibt erhalten, aber NetworkManager verwendet standardmäßig ein auf keyfile basierendes Format.
- Enthalten sind neue Versionen von Compilern und Entwicklerwerkzeugen: GCC 11.2, LLVM/Clang 12.0.1, Rust 1.54, Go 1.16.6, Node.js 16, OpenJDK 17, Perl 5.32, PHP 8.0, Python 3.9, Ruby 3.0, Git 2.31, Subversion 1.14, binutils 2.35, CMake 3.20.2, Maven 3.6, Ant 1.10.
- Die Serverpakete wurden aktualisiert: Apache HTTP Server 2.4.48, nginx 1.20, Varnish Cache 6.5, Squid 5.1.
- Die Datenbanken wurden aktualisiert: MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2.
- Für den standardmäßigen Bau des QEMU-Emulators wird nun Clang verwendet, wodurch im Hypervisor KVM einige zusätzliche Schutzmechanismen wie SafeStack zur Abwehr von Angriffsmethoden basierend auf Return-Oriented Programming (ROP) angewendet werden konnten.
- Im SSSD (System Security Services Daemon) wurden die Protokollierungsdetails verbessert; jetzt wird beispielsweise die Abschlusszeit von Aufgaben an Ereignisse angehängt, und der Authentifizierungsfluss wird angezeigt. Suchfunktionen wurden hinzugefügt, um Probleme mit Konfigurationen und der Leistung zu analysieren.
- Die Unterstützung von IMA (Integrity Measurement Architecture) wurde erweitert, um die Integrität der Betriebssystemkomponenten anhand von digitalen Signaturen und Hashes zu überprüfen.
- Standardmäßig wird eine einheitliche, vereinheitlichte Hierarchie für cgroups (cgroup v2) verwendet. Cgroups v2 können beispielsweise zur Begrenzung des Speicherverbrauchs, der CPU-Ressourcen und E/A-Vorgänge eingesetzt werden. Der wesentliche Unterschied zwischen cgroups v2 und v1 besteht darin, dass eine gemeinsame Hierarchie für alle Ressourcen verwendet wird, anstelle separater Hierarchien zur Verteilung von CPU-Ressourcen, zur Regulierung des Speicherverbrauchs und für E/A-Vorgänge. Getrennte Hierarchien führten zu Schwierigkeiten bei der Organisation der Interaktion zwischen den Handlern und zu einem zusätzlichen Ressourcenaufwand des Kernels bei der Anwendung von Regeln für Prozesse, die in verschiedenen Hierarchien erwähnt werden.
- Die Unterstützung für die Synchronisierung der genauen Zeit wurde mit dem Netzwerkzeit-Sicherheitsprotokoll NTS (Network Time Security) hinzugefügt, das Elemente der Infrastruktur für öffentliche Schlüssel (PKI) nutzt und die Verwendung von TLS sowie authentifizierter Verschlüsselung mit zugehörigen Daten (AEAD) zur kryptografischen Absicherung der Kommunikation zwischen dem Client und ermöglicht. Server über das Netzwerkzeitprotokoll NTP (Network Time Protocol). Der NTP-Server chrony wurde auf Version 4.1 aktualisiert.
- Experimentelle (Technology Preview) Unterstützung für KTLS (TLS-Implementierung auf Kernel-Ebene), Intel SGX (Software Guard Extensions), DAX (Direct Access) für ext4 und XFS, sowie Unterstützung für AMD SEV und SEV-ES im KVM-Hypervisor wurde bereitgestellt.
Quelle: opennet.ru
