La société Red Hat a publié la version de la distribution Red Hat Enterprise Linux 9.4. Les images d'installation prêtes sont disponibles pour les utilisateurs enregistrés du Red Hat Customer Portal (les images iso de CentOS Stream 9 et les versions gratuites de RHEL pour les développeurs peuvent également être utilisées pour évaluer les fonctionnalités). La version est formée pour les architectures x86_64, s390x (IBM System z), ppc64le et Aarch64 (ARM64).
La branche RHEL 9 évolue avec un processus de développement plus ouvert et utilise comme base le référentiel de paquets CentOS Stream 9. CentOS Stream est positionné comme un projet amont pour RHEL, permettant aux participants externes de contrôler la préparation des paquets pour RHEL, de proposer leurs modifications et d'influencer les décisions prises. Conformément au cycle de support de 10 ans de la distribution, RHEL 9 sera soutenu jusqu'en 2032.
Les codes sources des paquets rpm RHEL 9.4 ne sont pas mis à disposition dans le référentiel public git.centos.org et sont fournis aux clients de l'entreprise uniquement par le biais d'une section fermée du site, où un accord d'utilisateur (EULA) interdit la redistribution des données, ce qui empêche l'utilisation de ces paquets pour créer des distributions dérivées. Les codes sources restent disponibles dans le référentiel CentOS Stream, mais celui-ci n'est pas entièrement synchronisé avec RHEL et les versions les plus récentes des paquets ne correspondent pas toujours à celles de RHEL. Rocky Linux, Oracle et SUSE reproduisent les codes sources des paquets rpm des versions RHEL dans le cadre du projet OpenELA.
Les principaux changements dans RHEL 9.4 :
- Un support complet de la technologie de création d'enclaves isolées Intel SGX (Software Guard Extensions) est assuré. Les versions SGX 1 et 2 sont prises en charge, permettant d'utiliser les mécanismes FLC (Flexible Launch Control) et EDMM (Enclave Dynamic Memory Management) pour modifier les droits d'accès à des pages de mémoire spécifiques de l'enclave, ajouter ou retirer dynamiquement des pages de mémoire à l'enclave et étendre l'enclave.
- Le pilote IDXD (Data Streaming Accelerator) a été transféré en catégorie stable pour l'utilisation des accélérateurs de transfert de données intégrés au CPU Intel. Auparavant, SGX et IDXD étaient considérés comme des fonctionnalités expérimentales (Technology Preview).
- La mise en œuvre du sous-système eBPF a été synchronisée avec le noyau Linux 6.6 (la version précédente utilisait l'implémentation eBPF du noyau Linux 6.3).
- Le chargeur GRUB et la couche shim ont été dotés de la possibilité d'appliquer des mécanismes de protection de la mémoire DEP (Data Execution Prevention), NX (No Execute) et XD (Execute Disable) pour interdire l'exécution d'instructions dans certaines zones de mémoire avant le démarrage du système.
- Des versions mises à jour des compilateurs et des outils pour les développeurs ont été inclus : GCC Toolset 13, LLVM Toolset 17.0.6, Rust Toolset 1.75.1 et Go Toolset 1.21.7.
- Des paquets distincts (Application Streams) avec de nouvelles versions de Python 3.12, Ruby 3.3, PHP 8.2, nginx 1.24, MariaDB 10.11, PostgreSQL 16 ont été ajoutés.
- Les versions de Git 2.43.0, Git LFS 3.4.1, Valgrind 3.22, SystemTap 5.0, elfutils 0.190, cmake 3.26 ont été mises à jour. De nouveaux packages maven-openjdk21 et libzip-tools ont été ajoutés.
- Les packages liés à la sécurité ont été mis à jour : 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.
- Les packages serveur et système ont été mis à jour : 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.
- Les outils SELinux fonctionnant dans l'espace utilisateur (libsepol, libselinux, libsemanage, policycoreutils, checkpolicy, mcstrans) ont été mis à jour vers la version 3.6, où le langage CIL (Common Intermediate Language) a ajouté le support des règles « deny » et des mots-clés « notself » et « other ». Un exécutable getpolicyload a été ajouté pour afficher le nombre de redémarrages des règles SELinux. Les services nvme-stas, rust-afterburn, rust-coreos-installer et bootc, qui étaient auparavant exécutés en mode unconfined_service_t, sont désormais protégés par SELinux. Des règles SELinux pour SAP HANA ont été ajoutées. Un nouveau service chronyd-restricted, protégé par SELinux, a été ajouté. Un package grafana-selinux a été ajouté pour exécuter grafana avec protection SELinux.
- Le registraire et le vérificateur Keylime, utilisés pour confirmer l'authenticité et suivre continuellement l'intégrité des systèmes externes, peuvent désormais être exécutés à l'intérieur de conteneurs, isolés du système principal.
- Dans le système de journalisation Rsyslog, la possibilité de modifier les paramètres de chiffrement pour TLS/SSL a été ajoutée, ainsi que des options supplémentaires pour le rétablissement des privilèges.
- Dans OpenSSL, la possibilité de placer des fichiers de configuration TLS dans un répertoire séparé /etc/pki/tls/openssl.d a été introduite, permettant de redéfinir les paramètres des modules cryptographiques supplémentaires sans modifier le fichier de configuration principal d'OpenSSL.
- Dans SSSD (System Security Services Daemon), la possibilité d'activer et de configurer l'authentification sans mot de passe en utilisant des capteurs de données biométriques prenant en charge la spécification FIDO2, tel que les dispositifs YubiKey, a été ajoutée.
- Une commande expérimentale « podman build farm » a été ajoutée pour créer des images de conteneurs pour plusieurs architectures en même temps. Podman intègre un support complet de l'arrière-plan basé sur SQLite et permet l'utilisation des modules containers.conf pour charger sélectivement des paramètres. Les instructions HereDoc multi-lignes sont autorisées dans le Containerfile. La pile réseau CNI (Container Network Interface) a été déclarée obsolète. La commande « podman machine » permet le passage d'appareils USB vers les machines virtuelles QEMU.
- Dans IdM (Identity Management), la possibilité d'activer l'authentification à deux facteurs obligatoire pour les clients LDAP est fournie, en utilisant des mots de passe à usage unique (OTP). L'API IdM, qui était précédemment considérée comme expérimentale, a été stabilisée. Le 389 Directory Server a ajouté la prise en charge du protocole HAProxy, ce qui permet de déterminer correctement les adresses IP des clients se connectant via un proxy.
- Dans le constructeur d'images RHEL, il est désormais possible de spécifier des points de montage arbitraires et de créer divers modes de partitionnement (auto-lvm, lvm, raw).
- Avant la version 1.0.0, l'implémentation du protocole synce4l a été mise à jour, assurant la prise en charge de la technologie de synchronisation de fréquence SyncE (Synchronous Ethernet), qui est supportée par certaines cartes réseau et commutateurs, et permet d'améliorer l'efficacité des échanges de données dans les applications RAN (Radio Access Network) grâce à une synchronisation temporelle plus précise. La prise en charge de l'interface DPLL (Digital Phase Locked Loop) fournie par le noyau a été ajoutée.
- La fonctionnalité de vérification des champs des en-têtes internes des paquets transmis via des tunnels a été transférée dans le sous-système nftables. L'utilitaire nft a été mis à jour pour permettre l'utilisation de la commande « nft reset » afin de réinitialiser les états des règles nftables, tels que les compteurs de paquets et les valeurs des quotas. Dans firewalld, la suppression des règles ajoutées via iptables a été arrêtée si l'arrière-plan nftables est utilisé et s'il n'existe pas de règles créées avec l'option « --direct ».
- À l'utilitaire ss, qui fait partie du paquet iproute2, une option « —bound-inactive » a été ajoutée pour afficher les sockets TCP inactifs qui sont attachés à une adresse IP et le port réseau (appel bind) a été réalisé, mais n'est pas connecté (appel connect) ou n'est pas mis en mode attente de connexion (appel listen).
- Dans NetworkManager, la possibilité de modifier le nombre de canaux (files d'attente de paquets liées aux gestionnaires d'interruptions) pour les interfaces réseau et de configurer le mode SwitchDev a été ajoutée, permettant de déléguer les opérations de redirection des trames et de traitement des paquets réseau à des puces matérielles spécialisées. Le support des interfaces réseau MACsec a été ajouté. Pour les connexions sans fil, il est maintenant possible d'attribuer une adresse MAC fixe distincte (mode stable-ssid).
- Dans Nmstate, la création d'un fichier YAML pour revenir à un état antérieur des configurations a été assurée. Pour gérer les priorités dans les interfaces réseau agrégées (bond), une propriété priority a été ajoutée. Des attributs supplémentaires pour VLAN ont été ajoutés : registration-protocol, mvrp, reorder-headers et loose-binding. Il est désormais possible de configurer les tags VLAN sur les appareils réseau prenant en charge SR-IOV (Single Root I/O Virtualization).
- Le module du noyau avec la mise en œuvre de l'algorithme de contrôle de congestion TCP Illinois a été rétabli, permettant en moyenne d'obtenir une plus grande capacité et une répartition plus équitable des ressources.
- Les capacités des utilitaires rteval, rtla et cyclicdeadline ont été étendues. Dans rteval, la possibilité d'utiliser les préfixes « + » et « - » pour attacher et détacher des cœurs CPU de la liste des cœurs surveillés (measurement-cpulist) a été ajoutée. L'utilitaire rtla a été mis à jour pour correspondre à l'état du noyau Linux 6.6. Une option « rtla -C » pour attacher des cgroups supplémentaires aux threads a été ajoutée. L'utilitaire cyclicdeadline a été amélioré pour visualiser les délais sous forme d'histogramme.
- Il est désormais possible de définir la taille maximale du système de fichiers lors de l'augmentation dynamique de la taille du système de fichiers par le service stratisd, ce qui permet d'éviter la chute de performance après une augmentation incontrôlée de la taille de XFS.
- Dans l'utilitaire lvconvert, le support de la conversion des volumes logiques standard (LV) vers une variante permettant un provisionnement dynamique d'espace de stockage (thin provisioning) a été ajouté.
- Dans multipathd, le support du traitement des événements FPIN-Li (Fabric Performance Impact Notification) a été ajouté pour optimiser l'accès aux disques NVMe. Dans la section des paramètres par défaut de multipath.conf, les paramètres max_retries et auto_resize ont été ajoutés. Pour le Device-mapper-multipath, des réglages pour l'utilisation du système HPE Alletra 9000 NVMeFC et le support du mode ANA (Asymmetric Namespace Access) dans NVMeoFC ont été ajoutés.
- La possibilité de charger à partir d'adaptateurs NVMe/FC (Non-volatile Memory Express (NVMe) over Fibre Channel) a été ajoutée dans la catégorie des fonctionnalités stables.
- La console web facilite la gestion des stockages et le redimensionnement des partitions. La prise en charge de la génération de scripts shell et de scénarios Ansible pour la configuration de kdump a été ajoutée. Dans la section Machines Virtuelles, il est désormais possible d'ajouter des clés SSH et de connecter des périphériques de bloc déjà formatés. Pour la connexion aux machines virtuelles, VNC a été utilisé au lieu du protocole SPICE.
- De nouveaux rôles système pour le démarrage, la gestion et la configuration de fapolicyd et de Microsoft SQL Server 2022 ont été ajoutés. Un rôle snapshot a été ajouté pour créer et gérer des snapshots LVM. La possibilité d'authentification par certificats a été intégrée au rôle sshd.
- La prise en charge de la virtualisation sur les systèmes ARM64 avec l'hyperviseur KVM a été stabilisée.
- Le support pour la migration de machines virtuelles en mode Multi-FD (descripteurs de fichiers multiples) a été ajouté, ce qui permet d'établir plusieurs connexions parallèles lors du transfert d'une machine virtuelle, accélérant ainsi le transfert de données en présence d'une connexion réseau haut débit (20 Gbps et plus).
- Les performances de la migration à chaud en mode Postcopy ont été améliorées, permettant à l'environnement virtuel de démarrer presque immédiatement alors que toutes les données manquantes sont chargées lors de l'accès à des pages mémoire non copiées.
- L'utilitaire toolbx a été ajouté, permettant de lancer un environnement isolé supplémentaire qui peut être configuré librement à l'aide du gestionnaire de paquets DNF et utilisé pour installer des paquets expérimentaux sans affecter le système principal.
- La prise en charge des paramètres de ligne de commande du noyau Linux a été ajoutée : 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 et workqueue.unbound_cpus.
- De nouveaux paramètres sysctl ont été ajoutés : io_uring_group et numa_balancing_promote_rate_limit_MBps.
- L'utilisation du mécanisme io_uring est désormais interdite par défaut pour tous les processus (sysctl io_uring_disabled=2).
- La prise en charge du matériel a été étendue. Des pilotes ont été ajoutés pour prendre en charge les technologies Intel QuickAssist, Intel TPMI, Intel Uncore Frequency, AMD HSMP, AMD XCP, AMD Platform Management et Mellanox PMC. Un pilote octeon_ep a été ajouté pour les contrôleurs Marvell Octeon PCIe Endpoint Network Interface Controller.
- Le support expérimental (Technology Preview) continue d'être fourni :
- VPN WireGuard,
- kTLS (TLS au niveau du noyau),
- interface d'entrée/sortie asynchrone io_uring,
- DAX (Accès Direct) pour ext4 et XFS,
- AMD SEV et SEV-ES dans l'hyperviseur KVM,
- service systemd-resolved,
- mécanisme Sigstore pour la vérification des conteneurs par signatures numériques,
- protocoles PRP (Parallel Redundancy Protocol) et HSR (High-availability Seamless Redundancy),
- accélération matérielle IPsec via le déchargement des opérations d'encapsulation de paquets sur la carte réseau,
- protocole de gestion des certificats ACME, utilisé dans Let's Encrypt,
- SRv6 (Segment Routing over IPv6,
- paquet avec l'éditeur graphique GIMP 2.99.8,
- réglages MPTCP (Multipath TCP) via NetworkManager,
- DNSSEC dans IdM,
- virtio-mem,
- Socket API pour TuneD,
- Soft-iWARP (Internet Wide-area RDMA Protocol),
- GNOME pour ARM64 et IBM Z.
Source : opennet.ru
