L'azienda Red Hat ha pubblicato il rilascio della distribuzione Red Hat Enterprise Linux 9.4. Le immagini di installazione pronte sono disponibili per gli utenti registrati del Red Hat Customer Portal (è possibile utilizzare anche le immagini iso di CentOS Stream 9 e le versioni gratuite di RHEL per sviluppatori per valutare le funzionalità). Il rilascio è stato creato per le architetture x86_64, s390x (IBM System z), ppc64le e Aarch64 (ARM64).
Il ramo RHEL 9 si sviluppa con un processo di sviluppo più aperto e utilizza come base la distribuzione di pacchetti CentOS Stream 9. CentOS Stream è posizionato come progetto upstream per RHEL, consentendo ai partecipanti esterni di controllare la preparazione dei pacchetti per RHEL, proporre modifiche e influenzare le decisioni adottate. In conformità con il ciclo di supporto di 10 anni, RHEL 9 sarà supportato fino al 2032.
I codici sorgente dei pacchetti rpm di RHEL 9.4 non sono disponibili nel repository pubblico git.centos.org e vengono forniti ai clienti dell'azienda solo attraverso una sezione riservata del sito, dove è in vigore un accordo di licenza con l'utente (EULA) che vieta la ridistribuzione dei dati, impedendo così l'uso di questi pacchetti per la creazione di distribuzioni derivate. I codici sorgente rimangono disponibili nel repository di CentOS Stream, ma non è completamente sincronizzato con RHEL e non sempre le versioni più recenti dei pacchetti coincidono con i pacchetti di RHEL. Rocky Linux, Oracle e SUSE riproducono i codici sorgente dei pacchetti rpm delle versioni RHEL nell'ambito del progetto OpenELA.
Cambiamenti chiave in RHEL 9.4:
- È garantito il pieno supporto per la tecnologia di creazione di enclave isolate Intel SGX (Software Guard Extensions). Sono supportate le versioni SGX 1 e 2, che consentono di utilizzare i meccanismi FLC (Flexible Launch Control) e EDMM (Enclave Dynamic Memory Management) per modificare i diritti di accesso a singole pagine di memoria dell'enclave, aggiungere o rimuovere dinamicamente le pagine di memoria dall'enclave e ampliare l'enclave.
- Il driver IDXD (Data Streaming Accelerator) è stato spostato nel settore delle funzionalità stabili per sfruttare gli acceleratori di trasferimento dati integrati nella CPU Intel. In precedenza, SGX e IDXD erano considerati funzionalità sperimentali (Technology Preview).
- L'implementazione del sottosistema eBPF è sincronizzata con il kernel Linux 6.6 (nel rilascio precedente è stata utilizzata l'implementazione eBPF del kernel Linux 6.3).
- Al bootloader GRUB e al layer shim è stata aggiunta la possibilità di applicare meccanismi di protezione della memoria DEP (Data Execution Prevention), NX (No Execute) e XD (Execute Disable) per vietare l'esecuzione di istruzioni in determinate aree di memoria prima dell'inizio del caricamento del sistema.
- Sono incluse nuove versioni di compilatori e strumenti per sviluppatori: GCC Toolset 13, LLVM Toolset 17.0.6, Rust Toolset 1.75.1 e Go Toolset 1.21.7.
- Sono stati aggiunti pacchetti separati (Application Streams) con nuove versioni di Python 3.12, Ruby 3.3, PHP 8.2, nginx 1.24, MariaDB 10.11, PostgreSQL 16.
- Aggiornate le versioni di Git 2.43.0, Git LFS 3.4.1, Valgrind 3.22, SystemTap 5.0, elfutils 0.190, cmake 3.26. Sono stati aggiunti nuovi pacchetti maven-openjdk21 e libzip-tools.
- Aggiornati i pacchetti relativi alla sicurezza: 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.
- Aggiornati i pacchetti server e di sistema: 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.
- Gli strumenti dell'utente di SELinux (libsepol, libselinux, libsemanage, policycoreutils, checkpolicy, mcstrans) sono stati aggiornati alla versione 3.6, che introduce il supporto per le regole "deny" e le parole chiave "notself" e "other" nel linguaggio CIL (Common Intermediate Language). È stato aggiunto il file eseguibile getpolicyload per visualizzare il numero di riavvii delle regole SELinux. I servizi nvme-stas, rust-afterburn, rust-coreos-installer e bootc, che un tempo operavano in modalità unconfined_service_t, sono stati trasferiti sotto la protezione di SELinux. È stato introdotto il supporto SELinux per SAP HANA. È stato aggiunto un nuovo servizio chronyd-restricted, protetto tramite SELinux. È stato introdotto il pacchetto grafana-selinux per eseguire grafana con protezione SELinux.
- Il registratore e il verificatore Keylime, utilizzati per confermare l'autenticità e monitorare continuamente l'integrità dei sistemi esterni, possono ora essere eseguiti all'interno di contenitori isolati dal sistema principale.
- Nel sistema di registrazione Rsyslog è stata aggiunta la possibilità di modificare le impostazioni di crittografia per TLS/SSL e sono state aggiunte opzioni aggiuntive per il ripristino dei privilegi.
- In OpenSSL è stata aggiunta la possibilità di memorizzare i file di configurazione TLS in una directory separata /etc/pki/tls/openssl.d, che consente di sovrascrivere le impostazioni di moduli crittografici aggiuntivi senza modificare il file di configurazione principale di OpenSSL.
- In SSSD (System Security Services Daemon) è stata aggiunta la possibilità di abilitare e configurare l'autenticazione senza password utilizzando sensori biometrici che supportano la specifica FIDO2, come i dispositivi YubiKey.
- È stato aggiunto un comando sperimentale "podman build farm" per costruire immagini di contenitori per diverse architetture contemporaneamente. In Podman è stato introdotto il completo supporto per il backend basato su SQLite e la possibilità di utilizzare i moduli containers.conf per il caricamento selettivo delle configurazioni. Nel Containerfile sono state autorizzate le istruzioni multilinea HereDoc. Lo stack di rete CNI (Container Network Interface) è stato dichiarato obsoleto. Con il comando "podman machine" è stata implementata la possibilità di collegare dispositivi USB alle macchine virtuali QEMU.
- In IdM (Identity Management) è stata introdotta la possibilità di attivare l'autenticazione a due fattori obbligatoria per i client LDAP, utilizzando password monouso (OTP). È stato stabilizzato l'API IdM, precedentemente considerato sperimentale. Nel 389 Directory Server è stata aggiunta la supporto per il protocollo HAProxy, che consente di identificare correttamente gli indirizzi IP dei client che si connettono tramite proxy.
- Nel creatore di immagini RHEL è stata fornita la possibilità di specificare punti di montaggio arbitrari e di creare diverse modalità di partizionamento (auto-lvm, lvm, raw).
- Fino alla versione 1.0.0 è stata aggiornata l'implementazione del protocollo synce4l, che fornisce supporto per la tecnologia di sincronizzazione della frequenza SyncE (Synchronous Ethernet), supportata in alcune schede di rete e switch, e che migliora l'efficienza dello scambio di dati nelle applicazioni RAN (Radio Access Network) grazie a una sincronizzazione temporale più precisa. È stato aggiunto il supporto per l'interfaccia DPLL (Digital Phase Locked Loop) fornita dal kernel.
- Nel sottosistema nftables è stata trasferita la possibilità di verificare i campi degli header interni dei pacchetti trasmessi attraverso tunnel. Nello strumento nft è stata aggiunta la possibilità di utilizzare il comando ‘nft reset’ per ripristinare lo stato delle regole nftables, come i contatori di pacchetti e i valori delle quote. In firewalld non vengono più eliminati i regole aggiunti tramite iptables, se in firewalld viene utilizzato il backend nftables e non ci sono regole create con l'opzione ‘—direct’.
- Nell'utilità ss, parte del pacchetto iproute2, è stata aggiunta l'opzione "—bound-inactive" per visualizzare i socket TCP di rete inattivi che sono associati a indirizzo IP e porta di rete (è stata eseguita la chiamata bind), ma non connessi (chiamata connect) o non messi in attesa di connessione (chiamata listen).
- In NetworkManager è stata aggiunta la possibilità di modificare il numero di canali (code di pacchetti associati ai gestori di interruzione) per le interfacce di rete e configurare la modalità SwitchDev, che consente di delegare le operazioni di reindirizzamento dei frame e di elaborazione dei pacchetti di rete a chip hardware specializzati. È stato aggiunto il supporto per le interfacce di rete MACsec. Per le connessioni wireless è stata fornita la possibilità di assegnare un indirizzo MAC fisso separato (modalità stable-ssid).
- In Nmstate è stato reso possibile creare un file YAML per tornare a una configurazione precedente. È stata aggiunta una proprietà priority per gestire le priorità nelle interfacce di rete aggregate (bond). Sono stati aggiunti ulteriori attributi per VLAN: registration-protocol, mvrp, reorder-headers e loose-binding. È stata fornita la possibilità di configurare i tag VLAN sui dispositivi di rete che supportano SR-IOV (Single Root I/O Virtualization).
- È stato restituito il modulo del kernel con l'implementazione dell'algoritmo di controllo del sovraccarico TCP Illinois, che in media consente di ottenere una maggiore larghezza di banda e una distribuzione più equa delle risorse.
- Ampliate le funzionalità degli strumenti rteval, rtla e cyclicdeadline. In rteval è stata aggiunta la possibilità di utilizzare i prefissi «+» e «-» per allegare e staccare i core CPU dall'elenco dei core monitorati (measurement-cpulist). Lo strumento rtla è stato aggiornato allo stato corrispondente al kernel Linux 6.6. È stata aggiunta l'opzione «rtla -C» per allegare ulteriori cgroup ai thread. Nello strumento cyclicdeadline è stata aggiunta la possibilità di visualizzare i ritardi sotto forma di istogramma.
- Aggiunta la possibilità di impostare la dimensione massima del FS durante l'aumento dinamico della dimensione del FS dal servizio stratisd, evitando così il calo delle prestazioni dopo un aumento incontrollato della dimensione di XFS.
- Nello strumento lvconvert è stata aggiunta la supporto per la conversione dei volumi logici standard (LV) in una variante che consente l'allocazione dinamica dello spazio di archiviazione (thin provisioning).
- Nel multipathd è stato aggiunto il supporto per la gestione degli eventi FPIN-Li (Fabric Performance Impact Notification) per ottimizzare l'accesso ai dispositivi NVMe. Nella sezione delle impostazioni predefinite in multipath.conf sono stati aggiunti i parametri max_retries e auto_resize. Per il Device-mapper-multipath sono state aggiunte impostazioni per utilizzare l'array HPE Alletra 9000 NVMeFC e supportare la modalità ANA (Asymmetric Namespace Access) in NVMeoFC.
- È stata trasferita nella categoria stabile la possibilità di avviare dai connettori NVMe/FC (Non-volatile Memory Express (NVMe) over Fibre Channel).
- Nella console web è stato semplificato la gestione degli archivi e la modifica delle dimensioni delle partizioni. È stato aggiunto il supporto per la generazione di script shell e scenari Ansible per la configurazione di kdump. Nella sezione Virtual Machines è stata implementata la possibilità di aggiungere chiavi pubbliche SSH e collegare dispositivi di archiviazione già formattati. Per collegarsi alle macchine virtuali è stato utilizzato VNC anziché il protocollo SPICE.
- Aggiunti nuovi ruoli di sistema per l'avvio, la gestione e la configurazione di fapolicyd e Microsoft SQL Server 2022. È stato aggiunto il ruolo snapshot per la creazione e gestione di snapshot LVM. Nel ruolo sshd è stata aggiunta la possibilità di autenticazione tramite certificati.
- Stabilizzata la supporto per la virtualizzazione sui sistemi ARM64 utilizzando il hypervisor KVM.
- Aggiunto il supporto per la migrazione di macchine virtuali in modalità Multi-FD (file descriptor multipli), in cui durante il trasferimento di una macchina virtuale vengono stabilite più connessioni parallele, consentendo di accelerare il trasferimento dei dati in presenza di una connessione di rete ad alta velocità (20 Gbps e oltre).
- Aumentata la produttività della migrazione live in modalità Postcopy, in cui l'ambiente virtuale si avvia quasi immediatamente, mentre tutti i dati mancanti vengono caricati durante l'accesso alle pagine di memoria non copiate.
- Aggiunto lo strumento toolbx, che consente di avviare un ambiente isolato aggiuntivo, configurabile in modo arbitrario tramite il gestore di pacchetti standard DNF e utilizzabile per l'installazione di pacchetti sperimentali senza influenzare il sistema principale.
- Aggiunto il supporto per i parametri della riga di comando del kernel Linux: 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 e workqueue.unbound_cpus.
- Aggiunti nuovi parametri sysctl: io_uring_group e numa_balancing_promote_rate_limit_MBps.
- L'uso del meccanismo io_uring è disabilitato di default per tutti i processi (sysctl io_uring_disabled=2).
- Ampliato il supporto hardware. Aggiunti driver per supportare le tecnologie Intel QuickAssist Technology, Intel TPMI, Intel Uncore Frequency, AMD HSMP, AMD XCP, AMD Platform Management e Mellanox PMC. Aggiunto il driver octeon_ep per i controller Marvell Octeon PCIe Endpoint Network Interface Controller.
- È continuato il supporto sperimentale (Technology Preview):
- VPN WireGuard,
- kTLS (TLS a livello di kernel),
- interfaccia di input/output asincrono io_uring,
- DAX (Direct Access) per ext4 e XFS,
- AMD SEV e SEV-ES nel hypervisor KVM,
- servizio systemd-resolved,
- meccanismo Sigstore per la verifica dei container tramite firme digitali,
- protocolli PRP (Parallel Redundancy Protocol) e HSR (High-availability Seamless Redundancy),
- accelerazione hardware di IPsec mediante la delega delle operazioni di incapsulamento dei pacchetti alla scheda di rete,
- protocollo di gestione dei certificati ACME, utilizzato in Let’s Encrypt,
- SRv6 (Segment Routing over IPv6,
- pacchetto con l'editor grafico GIMP 2.99.8,
- impostazioni MPTCP (Multipath TCP) tramite NetworkManager,
- DNSSEC in IdM,
- virtio-mem,
- Socket API per TuneD,
- Soft-iWARP (Internet Wide-area RDMA Protocol),
- GNOME per ARM64 e IBM Z.
Fonte: opennet.ru
