Das CentOS-Projekt hat offiziell die Verfügbarkeit von CentOS Stream 9 bekannt gegeben, 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 zukünftige RHEL-Versionen entwickelt werden. Die Builds sind für die Architekturen x86_64, Aarch64 und ppc64le (IBM Power 9+) vorbereitet. Darüber hinaus wurde die Unterstützung der IBM Z-Architektur (s390x Z14+) angekündigt, aber Builds dafür sind noch nicht verfügbar.
CentOS Stream positioniert sich als Upstream-Projekt für RHEL, das Dritten die Möglichkeit gibt, die Paketvorbereitung für RHEL zu kontrollieren, ihre Änderungen vorzuschlagen und Einfluss auf die getroffenen Entscheidungen zu nehmen. Zuvor wurde ein Snapshot einer der Fedora-Versionen als Grundlage für den neuen RHEL-Zweig verwendet, der hinter verschlossenen Türen weiterentwickelt und stabilisiert wurde, ohne eine Kontrolle über den Entwicklungsprozess und die getroffenen Entscheidungen. Bei der Entwicklung von RHEL 9 auf Basis des Fedora 34 Snapshots hat die Community den CentOS Stream 9 Zweig gebildet, in dem Vorbereitungsarbeiten stattfinden und die Basis für einen neuen wesentlichen RHEL-Zweig gelegt wird.

Es wird darauf hingewiesen, dass für CentOS Stream die gleichen Updates veröffentlicht werden, die für die noch nicht veröffentlichte zukünftige Zwischenversion von RHEL vorbereitet wurden, und das Hauptziel der Entwickler darin besteht, eine Stabilitätsstufe zu erreichen, die CentOS Stream mit RHEL identisch macht. Bevor ein Paket in CentOS Stream angeboten wird, durchläuft es verschiedene automatisierte und manuelle Testsysteme und wird nur veröffentlicht, wenn sein Stabilitätsgrad als qualitativ hochwertig erachtet wird, um in RHEL publiziert zu werden. Gleichzeitig mit CentOS Stream werden die vorbereiteten Updates in die nächtlichen Builds von RHEL integriert.
Die wichtigsten Änderungen in CentOS Stream 9 im Vergleich zum vorherigen bedeutenden Zweig:
- Die Systemumgebung und das Build-Tool wurden aktualisiert. Für den Paketbau wurde GCC 11 eingesetzt. Die Standard-C-Bibliothek wurde auf glibc 2.34 aktualisiert. Das Linux-Kernel-Paket basiert auf der Version 5.14. Der Paketmanager RPM wurde auf Version 4.16 mit Unterstützung für die Integritätsprüfung über fapolicyd aktualisiert.
- Die Migration der Distribution auf Python 3 wurde 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 wurden virtuelle Desktops im Überblicksmodus (Aktivitätenübersicht) auf eine horizontale Ausrichtung umgestellt und werden als fortlaufend von links nach rechts scrollende Kette angezeigt. Auf jedem Desktop, der im Überblicksmodus angezeigt wird, sind die verfügbaren Fenster klar dargestellt, für die dynamisches Panning und Zoomen bei der Benutzerinteraktion angewendet wird. Ein nahtloser Übergang zwischen der Programmliste und den virtuellen Desktops ist gewährleistet.
- In GNOME wird der power-profiles-daemon verwendet, der die Möglichkeit bietet, zwischen Energiesparmodus, ausgewogenem Energieverbrauch und maximaler Leistung im laufenden Betrieb umzuschalten.
- Alle Audio-Streams wurden auf den Multimedia-Server PipeWire umgestellt, der jetzt standardmäßig anstelle von PulseAudio und JACK verwendet wird. Die Verwendung von PipeWire ermöglicht es, in einer normalen Desktop-Edition professionelle Audioverarbeitungsmöglichkeiten zu bieten, Fragmentierung zu beseitigen und die Audio-Infrastruktur für verschiedene Anwendungen zu vereinheitlichen.
- Das GRUB-Startmenü ist standardmäßig ausgeblendet, wenn RHEL das einzige installierte System ist und der letzte Start fehlerfrei war. Um das Menü während des Bootvorgangs anzuzeigen, genügt es, die Shift-Taste gedrückt zu halten oder mehrmals die Esc- oder F8-Taste zu drücken. Zu den Änderungen im Bootloader gehört auch die Ablage der GRUB-Konfigurationsdateien für alle Architekturen in einem Verzeichnis /boot/grub2/ (die Datei /boot/efi/EFI/redhat/grub.cfg ist jetzt ein symbolischer Link zu /boot/grub2/grub.cfg), d. h. dass dasselbe installierte System sowohl mit EFI als auch mit BIOS gebootet werden kann.
- Komponenten zur Unterstützung verschiedener Sprachen wurden in langpacks-Pakete 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, eine Basis-Schriftart und eine Eingabemethode enthält, und in langpacks befinden sich Übersetzungen, zusätzliche Schriftarten und Wörterbücher zur Rechtschreibprüfung.
- Die Komponenten zur Gewährleistung der Sicherheit wurden aktualisiert. Im Distribution wird ein neuer Zweig der Kryptographiebibliothek OpenSSL 3.0 verwendet. Standardmäßig sind modernere und zuverlässigere kryptographische Algorithmen aktiviert (zum Beispiel ist die Verwendung von SHA-1 in TLS, DTLS, SSH, IKEv2 und Kerberos untersagt, TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES und FFDHE-1024 sind deaktiviert). Das OpenSSH-Paket wurde auf Version 8.6p1 aktualisiert. Cyrus SASL wurde auf das Backend GDBM anstelle von Berkeley DB umgestellt. In den NSS-Bibliotheken (Network Security Services) wurde die Unterstützung für das DBM-Format (Berkeley DB) eingestellt. GnuTLS wurde auf Version 3.7.2 aktualisiert.
- Die Leistung von SELinux wurde erheblich verbessert und der Speicherverbrauch reduziert. In /etc/selinux/config wurde die Unterstützung für die Einstellung „SELINUX=disabled“ zur Deaktivierung von SELinux entfernt (die angegebene Einstellung schaltet nun nur das Laden von Richtlinien aus, um die Funktionalität von SELinux tatsächlich zu deaktivieren, ist es erforderlich, dem Kernel den Parameter „selinux=0“ zu übergeben).
- Es wurde experimentelle Unterstützung hinzugefügt VPN für WireGuard.
- Der SSH-Zugriff als Benutzer root ist standardmäßig verboten.
- Die Tools zur Verwaltung des Paketfilters iptables-nft (die Programme iptables, ip6tables, ebtables und arptables) sowie ipset wurden als veraltet erklärt. Für die Verwaltung der Firewall wird jetzt empfohlen, nftables zu verwenden.
- Ein neuer Daemon mptcpd zur Konfiguration von MPTCP (MultiPath TCP) wurde hinzugefügt, einer Erweiterung des TCP-Protokolls zur gleichzeitigen Zustellung von TCP-Verbindungen über mehrere Routen durch verschiedene Netzwerkschnittstellen, die an unterschiedliche IP-Adressen gebunden sind. Die Verwendung von mptcpd ermöglicht die Konfiguration von MPTCP ohne den Einsatz des Tools iproute2.
- Das Paket network-scripts wurde entfernt, zur Konfiguration von Netzwerkverbindungen sollte jetzt NetworkManager verwendet werden. Die Unterstützung für das ifcfg-Konfigurationsformat bleibt erhalten, aber NetworkManager verwendet standardmäßig das keyfile-basierte Format.
- Neue Versionen von Compilern und Entwicklertools wurden hinzugefügt: 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 Apache HTTP Server 2.4.48, nginx 1.20, Varnish Cache 6.5, Squid 5.1 wurden aktualisiert.
- Die Datenbankmanagementsysteme MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2 wurden aktualisiert.
- Für den Standardaufbau des QEMU-Emulators wird Clang verwendet, was es ermöglicht, im KVM-Hypervisor einige zusätzliche Schutzmechanismen wie SafeStack zur Abwehr von Rücksprung-orientierten Programmierung (ROP) anzuwenden.
- Im SSSD (System Security Services Daemon) wurde die Protokollierung detaillierter gestaltet, beispielsweise wird nun die Abschlusszeit von Aufgaben und der Authentifizierungsfluss angehängt. Suchfunktionen zur Problemanalyse bei Konfigurationen und Leistung wurden hinzugefügt.
- 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 cgroup-Hierarchie (cgroup v2) verwendet. Cgroups v2 können beispielsweise eingesetzt werden, um den Verbrauch von Speicher, CPU-Ressourcen und Ein-/Ausgabe zu beschränken. Der entscheidende Unterschied zwischen cgroups v2 und v1 besteht darin, dass cgroups v2 eine gemeinsame Hierarchie für alle Ressourcen anwendet, anstatt separate Hierarchien für die Verteilung von CPU-Ressourcen, die Regulierung des Speicherverbrauchs und die Ein-/Ausgabe. Die separaten Hierarchien führten zu Schwierigkeiten bei der Organisation der Interaktion zwischen Programmen und zu zusätzlichen Ressourcenbelastungen des Kernels bei der Anwendung von Regeln auf einen Prozess, der in verschiedenen Hierarchien erwähnt wird.
- Die Unterstützung für die genaue Zeit-Synchronisation über das NTS-Protokoll (Network Time Security) wurde hinzugefügt, das Elemente der Infrastruktur für öffentliche Schlüssel (PKI) verwendet und TLS sowie authentifizierte Verschlüsselung AEAD (Authenticated Encryption with Associated Data) für den kryptografischen Schutz der Interaktion zwischen Client und Server über das NTP-Protokoll (Network Time Protocol). Der NTP-Server chrony wurde auf Version 4.1 aktualisiert.
- Experimentelle Unterstützung für KTLS (Implementierung von TLS auf Kernel-Ebene), Intel SGX (Software Guard Extensions), DAX (Direct Access) für ext4 und XFS, Unterstützung für AMD SEV und SEV-ES im KVM-Hypervisor.
Parallel entwickelt sich weiterhin der Branch CentOS Stream 8, der bei der Vorbereitung neuer Versionen von RHEL 8.x verwendet wird und für die Migration von Systemen, die die klassische Distribution CentOS 8.x nutzen, empfohlen wird, deren Unterstützung Ende des Monats eingestellt wird. Für den Wechsel zu CentOS Stream ist es ausreichend, das Paket centos-release-stream zu installieren ("dnf install centos-release-stream") und den Befehl "dnf update" auszuführen. Die Unterstützung des Branches CentOS Stream 8 wird bis zum 31. Mai 2024 gewährt, während die Unterstützung von klassischem CentOS 7.x am 30. Juni 2024 endet.
Alternativ können Benutzer auch auf Distributionen umsteigen, die die Entwicklung des Branches CentOS 8 fortgesetzt haben: AlmaLinux (Migrationsskript), Rocky Linux (Migrationsskript), VzLinux (Migrationsskript) oder Oracle Linux (Migrationsskript). Darüber hinaus hat Red Hat die Möglichkeit bereitgestellt (Migrationsskript), RHEL kostenlos in Organisationen zu nutzen, die Open-Source-Software entwickeln, und in Umgebungen von Einzelentwicklern mit bis zu 16 virtuellen oder physischen Systemen.
Quelle: opennet.ru
