L'azienda Red Hat ha pubblicato il rilascio della distribuzione Red Hat Enterprise Linux 9.3 (nuova versione annunciata la settimana scorsa, ma le note di rilascio sono state pubblicate solo ieri, prima il sito indicava un segno di beta). L'aggiornamento della versione precedente RHEL 8.9 è atteso per il 15 novembre. Le immagini di installazione pronte sono disponibili per gli utenti registrati su Red Hat Customer Portal (per valutare le funzionalità si possono utilizzare anche le immagini ISO di CentOS Stream 9 e le versioni gratuite di RHEL per sviluppatori). 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.
RHEL 9.3 è diventato il primo rilascio i cui codici sorgente dei pacchetti RPM non sono pubblicati nel repository pubblico git.centos.org e sono forniti ai clienti dell'azienda solo attraverso una sezione riservata del sito, dove è in vigore un accordo con l'utente (EULA) che vieta la ridistribuzione dei dati, impedendo l'uso di questi pacchetti per creare distribuzioni derivate. I codici sorgente rimangono accessibili nel repository di CentOS Stream, ma non sono completamente sincronizzati con RHEL e non sempre le versioni più recenti dei pacchetti corrispondono a quelle di RHEL. Rocky Linux, Oracle e SUSE hanno unito le forze e ora riproducono i codici sorgente dei pacchetti RPM delle versioni di RHEL nell'ambito del progetto OpenELA.
Modifiche principali in RHEL 9.3:
- Sono incluse nuove versioni di compilatori e strumenti per sviluppatori: GCC Toolset 13, LLVM Toolset 16.0.6, Rust Toolset 1.71.1, Go Toolset 1.20.10, GCC 11.4.1 (compilatore di sistema), Redis 7, Node.js 20, java-21-openjdk (continuano ad essere forniti anche java-17-openjdk, java-11-openjdk e java-1.8.0-openjdk), Valgrind 3.21, SystemTap 4.9, elfutils 0.189, PCP 6.0.5, Grafana 9.2.10.
- Aggiornati i pacchetti server e di sistema: samba 4.18.6, iproute 6.2.0, Apache httpd 2.4.57 (+ aggiunto il modulo mod_authnz_fcgi), SEtools 4.4.3, OpenSCAP 1.3.8, opencryptoki 3.21.0, NetworkManager 1.44, xdp-tools 1.4.0, perf 6.2, dmpd 1.0.2, nvme-cli 2.4, Pacemaker 2.1.6, 389-ds-base 2.3.4.
- Nel gestore pacchetti DNF è stato aggiunto il comando "reboot" per il riavvio automatico dopo il completamento dell'aggiornamento. Sono disponibili le seguenti modalità: "never" (predefinito) - senza riavvio, "when-changed" - riavvio dopo qualsiasi aggiornamento (dnf upgrade) e "when-needed" - riavvio solo se richiesto dalle modifiche installate (ad esempio, dopo l'installazione di un aggiornamento del kernel o di systemd). Per lo spegnimento invece del riavvio è prevista l'opzione "--poweroff".
- Sono stati aggiunti nuovi plugin a DNF: "dnf leaves" per visualizzare tutti i pacchetti installati che non sono dipendenze di altri pacchetti; "show-leaves" per mostrare pacchetti simili recentemente installati o pacchetti che hanno smesso di essere utilizzati come dipendenze dopo la transazione.
- Dalla nuova versione del kernel Linux sono state trasferite le implementazioni dei protocolli SCTP (Stream Control Transmission Protocol) e MPTCP (Multipath TCP).
- Sulla piattaforma ARM64 è stato implementato il supporto completo per le fotocamere con interfaccia USB, adattatori wireless (Wi-Fi) e Bluetooth.
- È stato garantito il supporto completo per le schede grafiche discrete Intel Arc A-Series (Alchemist o DG2).
- L'implementazione del sottosistema eBPF è stata sincronizzata con il kernel Linux 6.3.
- È stato aggiunto l'insieme di strumenti Stratis per la gestione degli archivi locali, che offre funzionalità come l'assegnazione dinamica dello spazio di archiviazione, snapshot, garanzia di integrità e creazione di layer per la memorizzazione nella cache.
- Sono state apportate modifiche a systemd-udevd che consentono di assegnare nomi fissi alle interfacce di rete InfiniBand.
- In Postfix è stata implementata la possibilità di controllare i record DNS SRV per determinare l'host e la porta del server di posta che verrà utilizzato per l'invio dei messaggi. Questa funzionalità può essere utilizzata in infrastrutture in cui per la consegna dei messaggi di posta vengono utilizzati servizi con numeri di porta di rete dinamicamente assegnati.
- Nel pacchetto cups-filters è stato aggiunto il driver LF-to-CRLF, che può essere utilizzato per convertire i caratteri "\n" (a capo) in "\r\n" (ritorno a capo e a capo) per stampanti che supportano solo l'elaborazione di file con terminazione "\r\n".
- In FUSE3 è stata aggiunta la possibilità di annullare un elemento di catalogo senza smontare automaticamente i punti di montaggio associati a quell'elemento.
- In NetworkManager è stato aggiunto il supporto per l'opzione "no-aaaa" in resolv.conf, che disabilita l'invio di richieste DNS per record AAAA (determinazione dell'indirizzo IPv6 per nome host). È stato aggiunto il supporto per l'opzione "lacp_active" per gestire il trattamento dei frame LACPDU (Link Aggregation Control Protocol Data Units). È stato implementato il riavvio di NetworkManager dopo il riavvio del servizio dbus. È stata fornita una notifica nel caso venga utilizzato un formato di configurazione ifcfg obsoleto per i profili di connessione. È stato aggiunto il supporto per le proprietà: link.tx-queue-length, link.gro-max-size, link.gso-max-segments e link.gso-max-size.
- Per lo stesso'interfaccia di rete in NetworkManager è consentito utilizzare sia impostazioni statiche che dinamiche (DHCP); ad esempio, con l'utilità nmstate è possibile impostare un indirizzo statico per un'interfaccia in cui è abilitato il supporto DHCP. In nmstate è consentita l'associazione delle impostazioni all'interfaccia di rete in base all'indirizzo MAC, piuttosto che al nome dell'interfaccia.
- È stato ampliato il supporto hardware. Aggiunto il supporto CPU ARM64 NVIDIA Grace. Dal kernel Linux 6.2 è stato trasferito il driver Intel QAT con supporto per dispositivi Intel Quick Assist Technology 401xx/402xx.
- Per proteggere dagli attacchi Spectre v2, legati all'esecuzione speculativa delle istruzioni, è stata aggiunta la modalità AutoIBRS (Automatic Indirect Branch Restricted Speculation), supportata dalle CPU AMD, a partire dalla famiglia EPYC 9004 Genoa.
- Per i container è stata fornita la possibilità di utilizzare chip virtuali per la memorizzazione di chiavi crittografiche (vTPM), implementati sulla base di un TPM fisico generale (Trusted Platform Module).
- In LVM è stato aggiunto il supporto per partizioni logiche vmcore per i dump del kernel, creati dal sottosistema kdump.
- Nelle immagini di installazione è stato aggiunto il parametro "inst.wait_for_disks", che imposta il tempo di attesa per il caricamento del file kickstart o la prontezza dei driver durante il processo di avvio.
- Nell'installer, durante l'installazione su sistemi ARM, è stata fornita la possibilità di scegliere la versione del kernel da installare (ad esempio, con pagine di memoria da 64 KB). Dalla modalità di installazione minima è stato escluso il pacchetto s390utils-base e rimane solo s390utils-core.
- Nel generatore di immagini RHEL è stata aggiunta la possibilità di generare file in formato OVA per VMware VSphere.
- Nei file kickstart, nel comando network sono state aggiunte nuove opzioni "—ipv4-dns-search" e "—ipv6-dns-search" per specificare i domini di base per la direttiva "search" in /etc/resolv.conf, così come le opzioni "—ipv4-ignore-auto-dns" e "—ipv6-ignore-auto-dns" per ignorare la ricezione delle impostazioni DNS tramite DHCP.
- È stato migliorato il supporto per l'estensione TLS EMS (Extended Master Secret, RFC 7627), necessaria per garantire la conformità ai requisiti FIPS-140-3 nelle connessioni basate su TLS 1.2.
- In OpenSSH è iniziata l'eliminazione dell'uso di algoritmi basati su hash SHA-1 a favore di SHA-2. Se su server non ci sono chiavi basate su SHA-1, in sshd ora sarà utilizzato solo SHA-2 per la conferma delle chiavi host, il che potrebbe portare a incompatibilità con i client RHEL 8 e versioni precedenti.
- In OpenSSL è stata aggiunta la supporto per la configurazione dei parametri delle curve ellittiche protette Brainpool e implementata la protezione contro attacchi di decrittazione RSA basati sulla misurazione del tempo delle operazioni che utilizzano varianti del metodo Bleichenbacher.
- In RPCSEC GSS Kerberos V5 è stata aggiunta la supporto per i metodi di crittografia camellia128-cts-cmac, camellia256-cts-cmac, aes128-cts-hmac-sha256-128 e aes256-cts-hmac-sha384-192.
- Nei strumenti di auditing è stata aggiunta la supporto per eventi FANOTIFY e implementato il salvataggio nei log dei campi fan_type (tipo di evento), fan_info (informazioni correlate), sub_trust e obj_trust (livelli di fiducia per il soggetto e l'oggetto dell'evento). Nel servizio fapolicyd, per semplificare il debug dei problemi, è stata aggiunta la trasmissione dei numeri delle regole per le chiamate API fanotify rifiutate.
- È stato aggiunto un ruolo di sistema per gli strumenti keylime, facilitando la configurazione del registratore e del verificatore Keylime, utilizzato per confermare l'autenticità e il monitoraggio continuo dell'integrità di un sistema esterno. Ad esempio, è possibile garantire l'autenticità di dispositivi Edge e IoT che si trovano in luoghi non controllati dove è possibile l'accesso non autorizzato. È stato impiegato il nuovo rilascio keylime 7.3.
- È stato aggiunto un ruolo di sistema per la gestione delle unità systemd e la loro installazione. È stato aggiunto un ruolo di sistema per l'installazione, configurazione, gestione e avvio del DBMS PostgreSQL. Nel ruolo di sistema firewall è stata aggiunta la supporto per la definizione, modifica e rimozione degli ipset.
- In SELinux è stata aggiunta l'opzione virt_qemu_ga_run_unconfined, che consente al processo qemu-ga (QEMU Guest Agent) di eseguire in modalità non protetta (dominio unconfined_t) comandi come mount, inizialmente limitati da SELinux. Sono state aggiunte politiche SELinux per proteggere i servizi qat, systemd-pstore, boothd, fdo-manufacturing-server, fdo-rendezvous-server, fdo-client-linuxapp e fdo-owner-onboarding-server.
- È stata aggiunta la supporto per gli strumenti di virtualizzazione di quarta generazione dei processori Intel Xeon Scalable (Sapphire Rapids), che consente di utilizzare nei macchine virtuali il modello CPU SapphireRapids e di sfruttare le avanzate capacità di virtualizzazione disponibili in questi processori.
- In Podman è stata aggiunta la supporto per i container compressi utilizzando l'algoritmo zstd. È stata aggiunta la possibilità di utilizzare i Quadlets per la generazione automatica dei servizi systemd a partire dalle descrizioni dei container. È stata aggiunta la shell podmansh, che può essere utilizzata al posto di /usr/bin/bash per avviare una sessione utente nel container. Sono state aggiornate le versioni di Podman, Buildah, Skopeo, crun e runc.
- Aggiunti nuovi parametri della linea di comando del kernel:
- amd_pstate per la gestione delle modalità di consumo energetico delle CPU AMD;
- arm64.nosve per disabilitare SVE (Scalable Vector Extension);
- arm64.nosme per disabilitare SME (Scalable Matrix Extension);
- gather_data_sampling per gestire la modalità di protezione contro attacchi GDS (Gather Data Sampling o Downfall);
- nospectre_bhb per disabilitare la protezione Spectre-BHB;
- trace_clock per impostare il timer per gli eventi di tracciamento.
- Ampliate le funzionalità per cluster e sistemi tolleranti ai guasti: Nel gestore LVM-activate è stata aggiunta la supporto per la sostituzione (failover) dei gruppi di partizioni che non contengono partizioni fisiche. Nei gestori delle risorse del cluster IPaddr2 e IPsrcaddr è stata aggiunta la supporto per il policy routing. Nel gestore ocf:heartbeat:Filesystem è stata aggiunta la supporto per il filesystem EFS (Amazon Elastic File System).
- Aggiunte nuove immagini di contenitore con impostazioni FDO (FIDO Device Onboard): fdo-manufacturing-server, fdo-owner-onboarding-server, fdo-rendezvous-server e fdo-serviceinfo-api-server. Aggiunta una nuova immagine di contenitore rhel9/squid con il server proxy Squid. Nella versione "RHEL for Edge" è stato implementato il supporto per nuovi tipi di immagini "minimal-raw", "edge-vsphere" (*.vmdk) e "edge-ami" (*.ami).
- Nelle immagini AMI per ambienti cloud AWS EC2 è stato aggiunto il supporto per l'avvio in modalità UEFI.
- Per il lavoro con smart card e token USB CCID (Chip Card Interface Device) e ICCD (Integrated Circuit Card Device) è stata utilizzata una nuova versione del driver pcsc-lite-ccid 1.5.2, nella quale sono stati risolti problemi con il controller Alcor Micro AU9560 e aggiunto supporto per nuovi lettori di smart card.
- I pacchetti initial-setup e pmdk (Persistent Memory Development Kit) sono stati dichiarati obsoleti.
- Aggiunto supporto sperimentale per i protocolli PRP (Parallel Redundancy Protocol) e HSR (High-availability Seamless Redundancy).
- Aggiunta la possibilità sperimentale di accelerazione hardware di IPsec mediante la delega delle operazioni di incapsulamento dei pacchetti alla scheda di rete.
- Aggiunto supporto sperimentale per SRv6 (Segment Routing over IPv6).
- L'implementazione sperimentale di kTLS (TLS a livello di kernel) è stata sincronizzata con il ramo 6.3. Aggiunta la supporto per l'utilizzo di kTLS per accelerare GnuTLS.
- Aggiunto supporto sperimentale per l'interfaccia di input/output asincrona io_uring, rilevante per il polling di input/output e la possibilità di lavorare sia con che senza buffering. Nell'API io_uring, gli sviluppatori del kernel hanno cercato di eliminare le carenze del vecchio interfaccia aio. In termini di prestazioni, io_uring è molto vicino a SPDK e supera significativamente libaio quando il polling è attivato.
- In IdM (Identity Management) è stata aggiunta la supporto sperimentale per il protocollo di gestione dei certificati ACME (Automated Certificate Management Environment), utilizzato dall'autorità di certificazione Let's Encrypt.
- In Podman è stata aggiunta una funzione sperimentale per l'utilizzo di un backend di archiviazione basato su SQLite (invece di BoltDB).
- È continuato il supporto sperimentale (Technology Preview):
- VPN WireGuard,
- Intel SGX (Software Guard Extensions),
- Intel IDXD (Data Streaming Accelerator),
- 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,
- pacchetto con l'editor grafico GIMP 2.99.8,
- impostazioni MPTCP (Multipath TCP) tramite NetworkManager,
- DNSSEC in IdM,
- virtio-mem,
- hypervisor KVM per ARM64,
- installazioni su NVMe sopra Fibre Channel,
- Socket API per TuneD,
- Soft-iWARP (Internet Wide-area RDMA Protocol),
- GNOME per ARM64 e IBM Z.
Fonte: opennet.ru
