La société Red Hat a annoncé la sortie de la distribution Red Hat Enterprise Linux 9. Les images d'installation prêtes seront bientôt disponibles pour les utilisateurs enregistrés du Red Hat Customer Portal (les images iso de CentOS Stream 9 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). Les codes sources des paquets rpm de Red Hat Enterprise Linux 9 sont disponibles dans le dépôt Git de CentOS. Conformément au cycle de support de 10 ans de la distribution, RHEL 9 sera maintenu jusqu'en 2032. Les mises à jour pour RHEL 7 continueront d'être publiées jusqu'au 30 juin 2024, et pour RHEL 8 jusqu'au 31 mai 2029.
La distribution Red Hat Enterprise Linux 9 se distingue par son passage à un processus de développement plus ouvert. Contrairement aux versions précédentes, la base de cette distribution est fondée sur les paquets de CentOS Stream 9. CentOS Stream est positionné comme un projet en amont pour RHEL, permettant aux participants externes de contrôler la préparation des paquets pour RHEL, de proposer leurs modifications et d'influer sur les décisions prises. Auparavant, une capture instantanée d'une des versions de Fedora était utilisée comme base pour une nouvelle branche de RHEL, qui était développée et stabilisée à huis clos, sans possibilité de suivre l'avancement du développement et des décisions prises. Désormais, une branche de CentOS Stream se forme sur la base d'une capture de Fedora avec la participation de la communauté, où le travail préparatoire est effectué et où les bases d'une nouvelle branche significative de RHEL sont constituées.
Principaux changements :
- L'environnement système et les outils de construction ont été mis à jour. GCC 11 est utilisé pour la compilation des paquets. La bibliothèque standard C a été mise à jour vers glibc 2.34. Le paquet avec le noyau Linux est basé sur la version 5.14. Le gestionnaire de paquets RPM a été mis à jour vers la version 4.16 avec support du contrôle d'intégrité via fapolicyd.
- La migration de la distribution vers Python 3 est terminée. La branche Python 3.9 est proposée par défaut. La distribution de Python 2 a été arrêtée.
- Le bureau est basé sur GNOME 40 (GNOME 3.28 était livré avec RHEL 8) et la bibliothèque GTK 4. Dans GNOME 40, les bureaux virtuels dans le mode d'aperçu (Activités) sont présentés dans une orientation horizontale et s'affichent sous la forme d'une chaîne défilante continue de gauche à droite. Sur chaque bureau affiché en mode aperçu, les fenêtres disponibles sont représentées de manière visuelle, avec un panoramique et un zoom dynamique en fonction de l'interaction de l'utilisateur. Une transition fluide est assurée entre la liste des applications et les bureaux virtuels.
- GNOME utilise le gestionnaire power-profiles-daemon, qui permet de basculer à la volée entre le mode d'économie d'énergie, le mode d'alimentation équilibrée et le mode de performance maximale.
- Tous les flux audio ont été transférés vers le serveur multimédia PipeWire, qui est maintenant utilisé par défaut à la place de PulseAudio et JACK. L'utilisation de PipeWire permet dans l'édition de bureau standard d'offrir des capacités de traitement audio professionnel, d'éliminer la fragmentation et d'unifier l'infrastructure audio pour diverses applications.
- Par défaut, le menu de démarrage GRUB est caché si RHEL est le seul système d'exploitation installé et si le dernier démarrage s'est déroulé sans échec. Pour afficher le menu au démarrage, il suffit de maintenir la touche Shift ou d'appuyer plusieurs fois sur la touche Esc ou F8. Parmi les changements apportés au chargeur de démarrage, il convient également de noter que les fichiers de configuration de GRUB pour toutes les architectures sont désormais regroupés dans un seul répertoire /boot/grub2/ (le fichier /boot/efi/EFI/redhat/grub.cfg est maintenant un lien symbolique vers /boot/grub2/grub.cfg), c'est-à-dire qu'un même système installé peut être démarré à la fois en utilisant EFI et BIOS.
- Les composants de prise en charge de plusieurs langues ont été regroupés dans des paquets langpacks, permettant de varier le niveau de prise en charge linguistique installé. Par exemple, le paquet langpacks-core-font propose uniquement des polices, tandis que langpacks-core inclut la locale pour glibc, la police de base et la méthode de saisie, et enfin, langpacks contient les traductions, les polices supplémentaires et les dictionnaires pour la vérification orthographique.
- Les composants de sécurité ont été mis à jour. Une nouvelle branche de la bibliothèque cryptographique OpenSSL 3.0 est intégrée dans la distribution. Par défaut, des algorithmes cryptographiques plus modernes et fiables sont activés (par exemple, l'utilisation de SHA-1 est interdite dans TLS, DTLS, SSH, IKEv2 et Kerberos, et TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES et FFDHE-1024 sont désactivés). Le paquet OpenSSH a été mis à jour vers la version 8.6p1. Cyrus SASL a été transféré sur le backend GDBM au lieu de Berkeley DB. Le support du format DBM (Berkeley DB) a été supprimé dans les bibliothèques NSS (Network Security Services). GnuTLS a été mis à jour vers la version 3.7.2.
- Les performances de SELinux ont été considérablement améliorées et la consommation de mémoire a été réduite. La configuration dans /etc/selinux/config a supprimé le support de l'option "SELINUX=disabled" pour désactiver SELinux (cette option désactive désormais uniquement le chargement des politiques, et pour désactiver effectivement la fonctionnalité de SELinux, le paramètre "selinux=0" doit désormais être transmis au noyau).
- Support expérimental ajouté pour VPN WireGuard.
- Par défaut, l'accès SSH avec l'utilisateur root est désactivé.
- Les outils de gestion du filtrage de paquets iptables-nft (les utilitaires iptables, ip6tables, ebtables et arptables) et ipset sont déclarés obsolètes. Pour la gestion du pare-feu, il est désormais recommandé d'utiliser nftables.
- Un nouveau démon mptcpd a été intégré pour configurer MPTCP (MultiPath TCP), une extension du protocole TCP pour gérer les connexions TCP avec livraison des paquets simultanément sur plusieurs chemins via différentes interfaces réseau liées à différents adresses IP. L'utilisation de mptcpd permet de configurer MPTCP sans utiliser l'outil iproute2.
- Le paquet network-scripts a été supprimé, pour configurer les connexions réseau il faut utiliser NetworkManager. Le support du format de configuration ifcfg est conservé, mais NetworkManager utilise par défaut le format basé sur le fichier keyfile.
- De nouvelles versions de compilateurs et d'outils pour les développeurs ont été ajoutées: 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.
- Les paquets serveur ont été mis à jour : Apache HTTP Server 2.4.48, nginx 1.20, Varnish Cache 6.5, Squid 5.1.
- Mise à jour des SGBD MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2.
- Clang est utilisé par défaut pour compiler l'émulateur QEMU, ce qui permet d'appliquer dans l'hyperviseur KVM certains mécanismes de protection supplémentaires, tels que SafeStack pour protéger contre les méthodes d'exploitation basées sur la programmation orientée retour (ROP - Return-Oriented Programming).
- Dans SSSD (System Security Services Daemon), la granularité des journaux a été améliorée, par exemple, le temps de complétion des tâches est maintenant joint aux événements et le flux d'authentification est reflété. Des fonctions de recherche ont été ajoutées pour analyser les problèmes de configuration et de performance.
- Le support d'IMA (Integrity Measurement Architecture) a été élargi pour vérifier l'intégrité des composants du système d'exploitation via des signatures numériques et des hachages.
- Une hiérarchie unifiée unique de cgroup (cgroup v2) est activée par défaut. Les cgroups v2 peuvent être utilisés, par exemple, pour limiter la consommation de mémoire, les ressources CPU et les entrées/sorties. La principale différence entre cgroups v2 et v1 est l'application d'une hiérarchie commune de cgroups pour tous les types de ressources, au lieu de hiérarchies séparées pour la répartition des ressources CPU, pour la régulation de la consommation de mémoire et pour les entrées/sorties. Les hiérarchies séparées entraînaient des difficultés d'organisation de l'interaction entre les gestionnaires et des coûts supplémentaires pour le noyau lors de l'application de règles pour un processus mentionné dans différentes hiérarchies.
- Ajout du support de la synchronisation d'heure précise basée sur le protocole NTS (Network Time Security), qui utilise des éléments d'infrastructure à clé publique (PKI) et permet d'utiliser TLS et le chiffrement authentifié AEAD (Authenticated Encryption with Associated Data) pour protéger cryptographiquement l'interaction client et de serveurs par le protocole NTP (Network Time Protocol). Le serveur NTP chrony a été mis à jour vers la version 4.1.
- Un support expérimental (Technology Preview) pour KTLS (implémentation du TLS au niveau du noyau), Intel SGX (Software Guard Extensions), DAX (Direct Access) pour ext4 et XFS, ainsi que le support d'AMD SEV et SEV-ES dans l'hyperviseur KVM a été assuré.
Source : opennet.ru
