Veröffentlichung der Distribution Red Hat Enterprise Linux 9.4

Das Unternehmen Red Hat hat die Veröffentlichung des Red Hat Enterprise Linux 9.4 Distribution veröffentlicht. Fertige Installationsabbilder sind für registrierte Benutzer des Red Hat Customer Portal verfügbar (zur Evaluierung der Funktionen können auch ISO-Abbilder von CentOS Stream 9 und kostenlose RHEL-Entwicklerversionen verwendet werden). Die Veröffentlichung ist für die Architekturen x86_64, s390x (IBM System z), ppc64le und Aarch64 (ARM64) erstellt worden.

Der Branch RHEL 9 entwickelt sich mit einem offeneren Entwicklungsprozess und nutzt als Basis die Paketbasis von CentOS Stream 9. CentOS Stream wird als upstream-Projekt für RHEL positioniert, das externen Beteiligten die Möglichkeit gibt, die Vorbereitung von Paketen für RHEL zu kontrollieren, eigene Änderungen vorzuschlagen und Einfluss auf die getroffenen Entscheidungen zu nehmen. Entsprechend dem 10-jährigen Unterstützungzyklus wird RHEL 9 bis 2032 unterstützt.

Die Quelltexte der RPM-Pakete RHEL 9.4 sind nicht im öffentlichen Repository git.centos.org verfügbar und werden den Kunden des Unternehmens nur über den geschlossenen Bereich der Website bereitgestellt, auf dem eine Benutzervereinbarung (EULA) gilt, die die Weiterverbreitung dieser Daten verbietet, wodurch die Verwendung dieser Pakete zur Erstellung von abgeleiteten Distributionen nicht möglich ist. Die Quelltexte sind im Repository von CentOS Stream weiterhin verfügbar, jedoch nicht vollständig mit RHEL synchronisiert, und darin stimmen nicht immer die aktuellsten Versionen der Pakete mit den Paketen von RHEL überein. Rocky Linux, Oracle und SUSE reproduzieren die Quelltexte der RPM-Pakete der RHEL-Versionen im Rahmen des Projekts OpenELA.

Wesentliche Änderungen in RHEL 9.4:

  • Die vollständige Unterstützung der Technologie zur Erstellung isolierter Enklaven Intel SGX (Software Guard Extensions) wurde gewährleistet. Unterstützte Versionen sind SGX 1 und 2, die die Verwendung der Mechanismen FLC (Flexible Launch Control) und EDMM (Enclave Dynamic Memory Management) ermöglichen, um den Zugriff auf einzelne Seiten des Enklaven-Speichers zu ändern, Seiten dynamisch hinzuzufügen/zu entfernen und die Enklave zu erweitern.
  • Der Treiber IDXD (Data Streaming Accelerator) wurde stabilisiert, um die in den Intel-CPUs integrierten Datenbeschleuniger zu nutzen. Zuvor wurden SGX und IDXD als experimentelle Funktionen (Technology Preview) eingestuft.
  • Die Implementierung des eBPF-Subsystems wurde mit dem Linux-Kernel 6.6 synchronisiert (in der vorherigen Ausgabe wurde die Implementierung von eBPF aus dem Linux-Kernel 6.3 verwendet).
  • In den Bootloader GRUB und die Shim-Schicht wurde die Möglichkeit hinzugefügt, die Mechanismen zum Speicherschutz DEP (Data Execution Prevention), NX (No Execute) und XD (Execute Disable) anzuwenden, um die Ausführung von Anweisungen in bestimmten Speicherbereichen vor dem Systemstart zu verbieten.
  • Neue Versionen von Compilern und Entwickler-Tools wurden integriert: GCC Toolset 13, LLVM Toolset 17.0.6, Rust Toolset 1.75.1 und Go Toolset 1.21.7.
  • Einige Pakete (Application Streams) mit neuen Versionen von Python 3.12, Ruby 3.3, PHP 8.2, nginx 1.24, MariaDB 10.11, PostgreSQL 16 wurden hinzugefügt.
  • Die Versionen von Git 2.43.0, Git LFS 3.4.1, Valgrind 3.22, SystemTap 5.0, elfutils 0.190, cmake 3.26 wurden aktualisiert. Außerdem wurden neue Pakete wie maven-openjdk21 und libzip-tools hinzugefügt.
  • Die mit der Sicherheit verbundenen Pakete wurden aktualisiert: GnuTLS 3.8.3, nettle 3.9.1, p11-kit 0.25.3, libkcapi 1.4.0, stunnel 5.71, audit 3.1.2, SSG (SCAP Security Guide) 0.1.72, openCryptoki 3.22.0, ipa 4.11.
  • Die Server- und Systempakete wurden aktualisiert: chrony 4.5, linuxptp 4.2, Rsyslog 8.2310, iptables 1.8.10, nftables 1.0.9, firewalld 1.3, stratis-cli 3.6.0, boom 1.6.0, 389-ds-base 2.4.5, samba 4.19.4, Podman 4.9.
  • Das im Benutzerraum arbeitende SELinux-Toolkit (libsepol, libselinux, libsemanage, policycoreutils, checkpolicy, mcstrans) wurde auf Version 3.6 aktualisiert, in der die Unterstützung für die Regeln 'deny' und die Schlüsselwörter 'notself' und 'other' in die CIL-Sprache (Common Intermediate Language) aufgenommen wurde. Die ausführbare Datei getpolicyload wurde hinzugefügt, um die Anzahl der Neuladen von SELinux-Regeln anzuzeigen. Die Dienste nvme-stas, rust-afterburn, rust-coreos-installer und bootc, die zuvor im Modus unconfined_service_t liefen, wurden unter den Schutz von SELinux gestellt. SELinux-Regeln für SAP HANA wurden hinzugefügt. Ein neuer Dienst chronyd-restricted, der durch SELinux geschützt ist, wurde eingeführt. Das Paket grafana-selinux wurde hinzugefügt, um grafana mit SELinux-Schutz zu starten.
  • Der Keylime-Registrar und -Überprüfer, die zur Authentifizierung und zur kontinuierlichen Überwachung der Integrität externer Systeme verwendet werden, können jetzt in Containern gestartet werden, die von dem Hauptsystem isoliert sind.
  • Im Rsyslog-Logging-System wurde die Möglichkeit zur Änderung der Verschlüsselungseinstellungen für TLS/SSL bereitgestellt, und zusätzliche Optionen zum Zurücksetzen von Berechtigungen wurden hinzugefügt.
  • In OpenSSL wurde die Möglichkeit geschaffen, Konfigurationsdateien für TLS in ein separates Verzeichnis /etc/pki/tls/openssl.d zu legen, was das Überschreiben von Einstellungen zusätzlicher kryptografischer Module ohne Änderungsbedarf der Hauptkonfigurationsdatei von OpenSSL ermöglicht.
  • In SSSD (System Security Services Daemon) wurde die Möglichkeit zur Aktivierung und Konfiguration der passwortlosen Authentifizierung mithilfe von biometrischen Datensensoren, die die FIDO2-Spezifikation unterstützen, wie zum Beispiel YubiKey-Geräte, bereitgestellt.
  • Ein experimenteller Befehl 'podman build farm' wurde hinzugefügt, um Container-Images gleichzeitig für mehrere Architekturen zu erstellen. In Podman wurde die vollständige Unterstützung für das auf SQLite basierende Backend hinzugefügt, und es wurde die Möglichkeit geschaffen, containers.conf-Module für die selektive Lade der Einstellungen zu verwenden. In Containerfile sind mehrzeilige HereDoc-Anweisungen erlaubt. Der Netzwerk-Stack CNI (Container Network Interface) wurde als veraltet erklärt. Mit dem Befehl 'podman machine' wurde die Möglichkeit geschaffen, USB-Geräte in QEMU-VMs weiterzuleiten.
  • Im IdM (Identity Management) wurde die Möglichkeit geschaffen, eine verpflichtende Zwei-Faktor-Authentifizierung für LDAP-Clients einzuführen, indem Einmalpasswörter (OTP) verwendet werden. Die API von IdM wurde stabilisiert, die zuvor als experimentell galt. Im 389 Directory Server wurde die Unterstützung des HAProxy-Protokolls hinzugefügt, was es ermöglicht, die IP-Adressen von Clients, die über einen Proxy verbunden sind, korrekt zu bestimmen.
  • Im Image-Builder von RHEL wurde die Möglichkeit hinzugefügt, beliebige Einhängepunkte anzugeben und verschiedene Partitionierungsmodi (auto-lvm, lvm, raw) zu erstellen.
  • Bis zur Version 1.0.0 wurde die Implementierung des synce4l-Protokolls aktualisiert, das die Unterstützung der Synchronisationstechnologie SyncE (Synchronous Ethernet) gewährleistet, die in einigen Netzwerkkarten und -schaltern unterstützt wird und die Effizienz des Datenaustauschs in RAN-Anwendungen (Radio Access Network) durch genauere Zeit-Synchronisation verbessert. Darüber hinaus wurde die Unterstützung für die vom Kernel bereitgestellte DPLL-Schnittstelle (Digital Phase Locked Loop) hinzugefügt.
  • In das Subsystem nftables wurde die Möglichkeit zur Überprüfung der Felder innerer Paketheader, die über Tunnel übertragen werden, übernommen. Im Befehl nft wurde die Möglichkeit hinzugefügt, den Befehl „nft reset“ zu verwenden, um den Zustand der nftables-Regeln, wie z.B. Paketzählungen und Quotenwerte, zurückzusetzen. In firewalld wurde das Löschen von Regeln, die über iptables hinzugefügt wurden, eingestellt, wenn firewalld den nftables-Backend verwendet und keine mit der Option „—direct“ erstellten Regeln vorhanden sind.
  • In das Dienstprogramm ss, das im Paket iproute2 enthalten ist, wurde die Option „—bound-inactive“ hinzugefügt, um inaktive TCP-Netzwerksockets anzuzeigen, die gebunden sind an IP-Adresse und den Netzwerkport (bind aufgerufen), aber nicht verbunden sind (connect aufgerufen) oder nicht in den Verbindungs-Wartezustand versetzt wurden (listen aufgerufen).
  • Im NetworkManager wurde die Möglichkeit hinzugefügt, die Anzahl der Kanäle (Paketwarteschlangen, die an Interrupt-Handler gebunden sind) für Netzwerk-Interfaces zu ändern und den SwitchDev-Modus einzurichten, der es ermöglicht, die Operationen zur Weiterleitung von Frames und zur Verarbeitung von Netzwerkpaketen an spezialisierte Hardware-Chips zu delegieren. Die Unterstützung für MACsec-Netzwerk-Schnittstellen wurde hinzugefügt. Bei drahtlosen Verbindungen besteht die Möglichkeit, eine separate permanente MAC-Adresse (Modus stable-ssid) zuzuweisen.
  • In Nmstate wurde die Erstellung einer YAML-Datei für die Rückkehr zu vorherigen Einstellungen ermöglicht. Für die Verwaltung der Prioritäten bei aggregierten Netzwerkschnittstellen (Bond) wurde die Eigenschaft priority hinzugefügt. Zusätzliche Attribute für VLANs wurden hinzugefügt: registration-protocol, mvrp, reorder-headers und loose-binding. Es besteht die Möglichkeit zur Konfiguration von VLAN-Tagging auf Netzwerktechniken mit SR-IOV (Single Root I/O Virtualization) Unterstützung.
  • Das Kernelmodul mit der Implementierung des TCP Illinois Congestion Control Algorithmus wurde zurückgebracht, der im Durchschnitt eine höhere Bandbreite und eine gerechtere Ressourcenzuteilung ermöglicht.
  • Die Funktionalitäten der Tools rteval, rtla und cyclicdeadline wurden erweitert. In rteval wurde die Möglichkeit hinzugefügt, die Präfixe „+“ und „-“ zur Anhängung und Trennung von CPU-Kernen aus der Liste der überwachten Kerne (measurement-cpulist) zu verwenden. Das Tool rtla wurde auf den Stand des Linux-Kernels 6.6 aktualisiert. Eine Option „rtla -C“ wurde hinzugefügt, um zusätzliche cgroups an Threads anzuhängen. Im Tool cyclicdeadline wurde die Möglichkeit zur Visualisierung von Verzögerungen in Form eines Histogramms hinzugefügt.
  • Die Möglichkeit, die maximale Größe des FS bei einer dynamischen Vergrößerung der FS durch den stratisd-Dienst festzulegen, wurde hinzugefügt, was raumlose Leistungsprobleme nach unkontrollierter Vergrößerung der XFS-Größe verhindert.
  • Im Tool lvconvert wurde die Unterstützung für die Umwandlung von Standard-Logischen Volume (LV) in eine Variante, die dynamische Speicherkapazitäten (Thin Provisioning) ermöglicht, hinzugefügt.
  • Im multipathd wurde die Unterstützung für die Verarbeitung von FPIN-Li (Fabric Performance Impact Notification) Ereignissen hinzugefügt, um den Zugriff auf NVMe-Speicher zu optimieren. In den Standardoptionen in multipath.conf wurden die Parameter max_retries und auto_resize hinzugefügt. Für Device-mapper-multipath wurden Einstellungen für die Verwendung des HPE Alletra 9000 NVMeFC Arrays und die Unterstützung des ANA (Asymmetric Namespace Access) Modus in NVMeoFC hinzugefügt.
  • Die Möglichkeit, von NVMe/FC (Non-volatile Memory Express (NVMe) over Fibre Channel) adaptiert zu werden, wurde in die stabile Version überführt.
  • In der Webkonsole wurde die Verwaltung von Speicher und die Größenänderung von Partitionen vereinfacht. Die Unterstützung zur Generierung von Shell-Skripten und Ansible-Szenarien zur Konfiguration von kdump wurde hinzugefügt. Im Abschnitt Virtuelle Maschinen wurde die Möglichkeit zur Hinzufügung von SSH-Öffentlichen Schlüsseln und zum Anschluss bereits formatierter Blockgeräte implementiert. Anstelle des SPICE-Protokolls wurde VNC für den Zugriff auf virtuelle Maschinen verwendet.
  • Neue Systemrollen für den Start, die Verwaltung und die Konfiguration von fapolicyd und Microsoft SQL Server 2022 wurden hinzugefügt. Eine Snapshot-Rolle zur Erstellung und Verwaltung von LVM-Snapshots wurde hinzugefügt. In die Rolle sshd wurde die Möglichkeit zur Authentifizierung mittels Zertifikaten integriert.
  • Die Unterstützung der Virtualisierung auf ARM64-Systemen mit dem Hypervisor KVM wurde stabilisiert.
  • Die Unterstützung für die Migration virtueller Maschinen im Multi-FD-Modus (multiple file descriptors) wurde hinzugefügt, bei dem beim Verschieben einer virtuellen Maschine mehrere parallele Verbindungen hergestellt werden, was den Datentransfer bei Hochgeschwindigkeitsnetzwerken (20 Gbps und mehr) beschleunigt.
  • Die Leistung der Live-Migration im Postcopy-Modus wurde erhöht, bei dem die virtuelle Umgebung nahezu sofort gestartet wird, während alle fehlenden Daten beim Zugriff auf nicht kopierte Speicherseiten nachgeladen werden.
  • Das Tool toolbx wurde hinzugefügt, mit dem eine zusätzliche isolierte Umgebung gestartet werden kann, die beliebig mit dem herkömmlichen Paketmanager DNF eingerichtet werden kann und zur Installation experimenteller Pakete ohne Einfluss auf das Hauptsystem verwendet werden kann.
  • Unterstützung für die Kernel-Befehlszeilenparameter von Linux hinzugefügt: accept_memory, ia32_emulation, arm64.nomops, cgroup_favordynmods, early_page_ext, fw_devlink.sync_state, kunit.enable, mtrr=debug, rcupdate.rcu_cpu_stall_cputime, rcupdate.rcu_exp_stall_task_details, spec_rstack_overflow und workqueue.unbound_cpus.
  • Neue sysctl-Parameter hinzugefügt: io_uring_group und numa_balancing_promote_rate_limit_MBps.
  • Die Verwendung des io_uring-Mechanismus ist standardmäßig für alle Prozesse deaktiviert (sysctl io_uring_disabled=2).
  • Die Hardwareunterstützung wurde erweitert. Treiber zur Unterstützung von Technologien wie Intel QuickAssist Technology, Intel TPMI, Intel Uncore Frequency, AMD HSMP, AMD XCP, AMD Platform Management und Mellanox PMC wurden hinzugefügt. Ein Treiber octeon_ep für Marvell Octeon PCIe Endpoint Network Interface Controller wurde hinzugefügt.
  • Die experimentelle Unterstützung (Technology Preview) wurde fortgesetzt:
    • VPN WireGuard,
    • kTLS (TLS auf Kernel-Ebene),
    • Schnittstelle für asynchronen Input/Output io_uring,
    • DAX (Direct Access) für ext4 und XFS,
    • AMD SEV und SEV-ES im KVM-Hypervisor,
    • Dienst systemd-resolved,
    • Mechanismus Sigstore zur Verifizierung von Containern anhand digitaler Signaturen,
    • Protokolle PRP (Parallel Redundancy Protocol) und HSR (High-availability Seamless Redundancy),
    • Hardware-Beschleunigung von IPsec durch Auslagerung der Paket-Inkapsulierung auf die Netzwerkkarte.
    • ACME-Zertifikatsverwaltung Protokoll, das in Let’s Encrypt verwendet wird.
    • SRv6 (Segment Routing über IPv6,
    • Paket mit dem Grafikeditor GIMP 2.99.8,
    • MPTCP (Multipath TCP) Einstellungen über NetworkManager,
    • DNSSEC in IdM,
    • virtio-mem,
    • Socket-API für TuneD,
    • Soft-iWARP (Internet Wide-area RDMA-Protokoll),
    • GNOME für ARM64 und IBM Z.

Quelle: opennet.ru

60GB SSD 8Gb DDR4