Das Projekt CentOS hat offiziell die Verfügbarkeit von CentOS Stream 9 angekündigt, das als Grundlage für die Entwicklung von Red Hat Enterprise Linux 9 im Rahmen eines neuen, offeneren Entwicklungsprozesses dient. CentOS Stream gehört zu den kontinuierlich aktualisierten Distributionen und ermöglicht einen früheren Zugang zu Paketen, die für die zukünftige Version von RHEL entwickelt werden. Die Builds sind für die Architekturen x86_64, Aarch64 und ppc64le (IBM Power 9+) vorbereitet. Darüber hinaus wurde Unterstützung für die Architektur IBM Z (s390x Z14+) angekündigt, jedoch sind die Builds dafür noch nicht verfügbar.
CentOS Stream wird als upstream-Projekt für RHEL positioniert und ermöglicht externen Beteiligten, die Paketerstellung für RHEL zu steuern, eigene Änderungen vorzuschlagen und Einfluss auf die getroffenen Entscheidungen zu nehmen. Früher diente ein Snapshot einer Fedora-Version als Grundlage für einen neuen RHEL-Zweig, der hinter verschlossenen Türen weiterentwickelt und stabilisiert wurde, ohne dass es möglich war, den Fortschritt der Entwicklung und die Entscheidungen zu beeinflussen. Im Rahmen der Entwicklung von RHEL 9, basierend auf dem Snapshot von Fedora 34, wurde mit Beteiligung der Community der Zweig CentOS Stream 9 geschaffen, in dem Vorbereitungsarbeiten geleistet und die Grundlage für einen neuen, bedeutenden RHEL-Zweig gebildet wird.

Es ist anzumerken, dass für CentOS Stream dieselben Updates veröffentlicht werden, die für die noch nicht veröffentlichte zukünftige Zwischenversion von RHEL vorbereitet wurden. Das Hauptziel der Entwickler besteht darin, ein Stabilitätsniveau zu erreichen, das CentOS Stream mit RHEL identisch macht. Bevor das Paket in CentOS Stream angeboten wird, durchläuft es verschiedene Systeme automatischer und manueller Tests und wird nur veröffentlicht, wenn sein Stabilitätsniveau den Qualitätsstandards für Pakete, die zur Veröffentlichung in RHEL bereit sind, entspricht. Gleichzeitig mit CentOS Stream werden die vorbereiteten Updates in die nächtlichen Builds von RHEL eingefügt.
Die wesentlichen Änderungen in CentOS Stream 9 im Vergleich zu dem vorherigen signifikanten Branch:
- 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.
- Es wird experimentelle 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 gewährleistet.
Parallel dazu entwickelt sich der Zweig CentOS Stream 8 weiter, der für die Vorbereitung neuer Versionen von RHEL 8.x verwendet wird. Er wird für die Migration von Systemen, die den klassischen CentOS 8.x-Distrubutiv nutzen, empfohlen, dessen Unterstützung Ende dieses Monats eingestellt wird. Um auf CentOS Stream umzusteigen, genügt es, das Paket centos-release-stream zu installieren („dnf install centos-release-stream“) und den Befehl „dnf update“ auszuführen. Die Unterstützung für den CentOS Stream 8-Zweig wird bis zum 31. Mai 2024 fortgeführt, während die Unterstützung für das klassische CentOS 7.x am 30. Juni 2024 endet.
Alternativ können Benutzer auch auf Distributionen umsteigen, die die Entwicklung des Zweigs CentOS 8 fortsetzen: AlmaLinux (Migrationsskript), Rocky Linux (Migrationsskript), VzLinux (Migrationsskript) oder Oracle Linux (Migrationsskript). Darüber hinaus bietet Red Hat die Möglichkeit (Migrationsskript) zur kostenlosen Nutzung von RHEL in Organisationen, die Open-Source-Software entwickeln, sowie in Umgebungen von Einzelentwicklern, die bis zu 16 virtuelle oder physische Systeme umfassen.
Quelle: opennet.ru
