L'azienda Red Hat ha rilasciato la distribuzione Red Hat Enterprise Linux 9.4. Le immagini di installazione pronte sono disponibili per gli utenti registrati nel Red Hat Customer Portal (per valutare le funzionalità sono disponibili anche le immagini ISO di CentOS Stream 9 e le versioni gratuite di RHEL per sviluppatori). Il rilascio è stato formato per le architetture x86_64, s390x (IBM System z), ppc64le e Aarch64 (ARM64).
La branch RHEL 9 si sviluppa con un processo di sviluppo più aperto e utilizza come base il pacchetto di CentOS Stream 9. CentOS Stream è posizionato come progetto upstream per RHEL, consentendo a terzi di controllare la preparazione dei pacchetti per RHEL, proporre le proprie 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 tramite una sezione riservata del sito, dove è in vigore un accordo di licenza utente (EULA), che vieta la ridistribuzione dei dati, impedendo così di utilizzare questi pacchetti per creare distribuzioni derivate. I codici sorgente rimangono disponibili nel repository di CentOS Stream, ma non sono completamente sincronizzati con RHEL e le versioni dei pacchetti non sempre corrispondono alle versioni di RHEL. Rocky Linux, Oracle e SUSE riproducono i codici sorgente dei pacchetti rpm delle versioni RHEL nell'ambito del progetto OpenELA.
Modifiche chiave in RHEL 9.4:
- È stata garantita la piena supporto della tecnologia per la creazione di enclave isolate Intel SGX (Software Guard Extensions). Sono supportate le versioni SGX 1 e 2, che consentono di utilizzare meccanismi FLC (Flexible Launch Control) e EDMM (Enclave Dynamic Memory Management) per modificare i diritti di accesso a singole pagine di memoria nell'enclave, aggiungere/rimuovere dinamicamente pagine di memoria all'enclave e ampliarne l'area.
- Il driver IDXD (Data Streaming Accelerator) per l'utilizzo degli acceleratori di trasferimento dati integrati nei processori Intel è stato aggiornato allo stato stabile. In precedenza, SGX e IDXD erano classificati come funzionalità sperimentali (Technology Preview).
- L'implementazione del sottosistema eBPF è stata sincronizzata con il kernel Linux 6.6 (la versione precedente utilizzava l'implementazione eBPF del kernel Linux 6.3).
- È stata aggiunta al bootloader GRUB e al layer shim 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 della memoria prima dell'avvio del sistema.
- Sono incluse nuove versioni dei compilatori e degli 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.
- Sono state 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.
- Lo strumento SELinux operativo nello spazio utente (libsepol, libselinux, libsemanage, policycoreutils, checkpolicy, mcstrans) è stato aggiornato alla versione 3.6, che include il supporto per le regole 'deny' e le parole chiave 'notself' e 'other' nel linguaggio CIL (Common Intermediate Language). È stato aggiunto un file eseguibile getpolicyload per mostrare il numero di ricariche delle regole SELinux. I servizi nvme-stas, rust-afterburn, rust-coreos-installer e bootc, che precedentemente venivano eseguiti in modalità unconfined_service_t, sono stati protetti da SELinux. Sono state aggiunte regole SELinux per SAP HANA. È stato introdotto un nuovo servizio chronyd-restricted, protetto tramite SELinux. È stato aggiunto il pacchetto grafana-selinux per eseguire grafana con protezione SELinux.
- Il registratore e il verificatore Keylime, utilizzati per garantire l'autenticità e il monitoraggio continuo dell'integrità dei sistemi esterni, possono ora essere eseguiti all'interno di contenitori isolati dal sistema principale.
- Nel sistema di registrazione Rsyslog è stata fornita la possibilità di modificare le impostazioni di crittografia per TLS/SSL ed sono state aggiunte opzioni aggiuntive per il ripristino dei privilegi.
- In OpenSSL è stata aggiunta la possibilità di posizionare i file di configurazione TLS in una directory separata /etc/pki/tls/openssl.d, consentendo di sovrascrivere i parametri di moduli crittografici aggiuntivi senza modificare il file di configurazione principale di OpenSSL.
- In SSSD (System Security Services Daemon) è stata fornita la possibilità di abilitare e configurare l'autenticazione senza password, utilizzando sensori di dati biometrici che supportano la specifica FIDO2, come i dispositivi YubiKey.
- È stato aggiunto un comando sperimentale 'podman build farm' per creare immagini di container per più architetture contemporaneamente. In Podman è stata aggiunta la piena supporto per un backend basato su SQLite e la possibilità di utilizzare moduli containers.conf per il caricamento selettivo delle impostazioni. Sono state consentite istruzioni HereDoc multiline nel Containerfile. È stato dichiarato obsoleto lo stack di rete CNI (Container Network Interface). Con il comando 'podman machine' è stata implementata la possibilità di passare i dispositivi USB alle macchine virtuali QEMU.
- In IdM (Identity Management) è stata fornita la possibilità di abilitare l'autenticazione a due fattori obbligatoria per i client LDAP, utilizzando password temporanee (OTP). È stato stabilizzato l'API IdM, che prima era presentata come sperimentale. Nel 389 Directory Server è stato aggiunto il supporto per il protocollo HAProxy, consentendo 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 supporta la tecnologia di sincronizzazione della frequenza SyncE (Synchronous Ethernet). Questa tecnologia è supportata in alcune schede di rete e switch, migliorando l'efficienza dello scambio di dati nelle applicazioni RAN (Radio Access Network) tramite una sincronizzazione temporale più precisa. È stata aggiunta la supporto per l'interfaccia DPLL (Digital Phase Locked Loop) fornita dal kernel.
- Nella sottosistema nftables è stata integrata la possibilità di controllare i campi degli header interni dei pacchetti trasmessi attraverso i tunnel. Nello strumento nft è stata aggiunta la possibilità di usare il comando «nft reset» per ripristinare gli stati delle regole nftables, come i contatori dei pacchetti e i valori delle quote. In firewalld è stata disattivata la rimozione delle regole aggiunte tramite iptables se il backend nftables viene utilizzato e non ci sono regole create con l'opzione «—direct».
- Nell'utilità ss, inclusa nel pacchetto iproute2, è stata aggiunta l'opzione "—bound-inactive" per visualizzare i socket TCP di rete inattivi, che sono collegati a indirizzo IP e della porta di rete (è stata eseguita la chiamata bind), ma non sono collegate (chiamata connect) o non sono state messe in attesa di connessione (chiamata listen).
- In NetworkManager è stata aggiunta la possibilità di modificare il numero di canali (code di pacchetti legate ai gestori delle interruzioni) per le interfacce di rete e di configurare la modalità SwitchDev, che consente di delegare operazioni di inoltro di frame e gestione di pacchetti di rete a chip hardware specializzati. È stata aggiunta la supporto per le interfacce di rete MACsec. Per le connessioni wireless è stata fornita la possibilità di assegnare un indirizzo MAC statico separato (modalità stable-ssid).
- In Nmstate è stata garantita la creazione di un file YAML per il ripristino dello stato precedente delle configurazioni. Per gestire le priorità nelle interfacce di rete aggregate (bond) è stata aggiunta la proprietà priority. Sono stati aggiunti ulteriori attributi per VLAN: registration-protocol, mvrp, reorder-headers e loose-binding. È stata fornita la possibilità di configurare le etichette VLAN sui dispositivi di rete che supportano SR-IOV (Single Root I/O Virtualization).
- È stato riportato il modulo del kernel con l'implementazione dell'algoritmo di controllo del sovraccarico TCP Illinois, che permette, in media, di ottenere una maggiore larghezza di banda e una distribuzione delle risorse più equa.
- Sono state ampliate le capacità degli strumenti rteval, rtla e cyclicdeadline. In rteval è stata aggiunta la possibilità di utilizzare i prefissi «+» e «-» per aggiungere e rimuovere i core CPU dalla lista dei core monitorati (measurement-cpulist). Lo strumento rtla è stato aggiornato per corrispondere al kernel Linux 6.6. È stata aggiunta l'opzione «rtla -C» per allegare cgroup aggiuntivi ai thread. Nello strumento cyclicdeadline è stata implementata la visualizzazione dei ritardi sotto forma di istogramma.
- È stata aggiunta la possibilità di impostare la dimensione massima del filesystem durante l'aumento dinamico della dimensione del filesystem da parte del servizio stratisd, evitando così un 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).
- In multipathd è stata aggiunta la supporto per gestire gli eventi FPIN-Li (Fabric Performance Impact Notification) per ottimizzare l'accesso agli storage NVMe. Nella sezione delle impostazioni predefinite in multipath.conf sono stati aggiunti i parametri max_retries e auto_resize. Per Device-mapper-multipath sono state aggiunte impostazioni per l'uso del sistema HPE Alletra 9000 NVMeFC e supporto per la modalità ANA (Asymmetric Namespace Access) in NVMeoFC.
- È stata trasferita nella categoria stable la possibilità di avviare da adattatori NVMe/FC (Non-volatile Memory Express (NVMe) over Fibre Channel).
- Nella console web è stata semplificata la gestione degli storage e la modifica delle dimensioni delle partizioni. È stata aggiunta la 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 di connettersi a dischi formattati. Per la connessione alle macchine virtuali, invece del protocollo SPICE, è stato utilizzato VNC.
- Sono state aggiunte nuove ruoli di sistema per avviare, gestire e configurare fapolicyd e Microsoft SQL Server 2022. È stata aggiunta una ruolo snapshot per creare e gestire snapshot LVM. Nella ruolo sshd è stata aggiunta la possibilità di autenticazione tramite certificati.
- È stata stabilizzata la supporto per la virtualizzazione sui sistemi ARM64 utilizzando il hypervisor KVM.
- È stata aggiunta la supporto per la migrazione delle macchine virtuali in modalità Multi-FD (multiple file descriptors), in cui quando si sposta una macchina virtuale vengono stabilite più connessioni parallele, il che consente di accelerare il trasferimento dei dati in presenza di una connessione di rete ad alta velocità (20 Gbps e oltre).
- È stata migliorata la performance della migrazione live in modalità Postcopy, in cui l'ambiente virtuale si avvia quasi immediatamente e tutti i dati mancanti vengono caricati quando si accede a pagine di memoria non copiate.
- È stato aggiunto lo strumento toolbx, che consente di avviare un ambiente isolato aggiuntivo, che può essere configurato arbitrariamente utilizzando il normale gestore di pacchetti DNF e utilizzato per installare pacchetti sperimentali senza influenzare il sistema principale.
- Aggiunta la 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 per tutti i processi di default (sysctl io_uring_disabled=2).
- Espansa la 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.
- Continua la fornitura del supporto sperimentale (Technology Preview):
- VPN WireGuard,
- kTLS (TLS a livello di kernel),
- interfaccia di input/output asincrona 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 attraverso firme digitali,
- protocollo PRP (Parallel Redundancy Protocol) e HSR (High-availability Seamless Redundancy),
- accelerazione hardware IPsec tramite il trasferimento 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
