L'azienda Red Hat ha presentato la prima versione beta della distribuzione Red Hat Enterprise Linux 9. Le immagini di installazione pronte sono state preparate per gli utenti registrati del Red Hat Customer Portal (è possibile utilizzare anche le immagini iso di CentOS Stream 9 per valutare le funzionalità). I repository dei pacchetti sono disponibili senza restrizioni per le architetture x86_64, s390x (IBM System z), ppc64le e Aarch64 (ARM64). I codici sorgente dei pacchetti rpm di Red Hat Enterprise Linux 9 sono stati collocati nel repository Git di CentOS. Il rilascio è previsto per la prima metà del prossimo anno. Secondo il ciclo di supporto decennale, la distribuzione RHEL 9 sarà supportata fino al 2032. Gli aggiornamenti per RHEL 7 continueranno a essere rilasciati fino al 30 giugno 2024, RHEL 8 fino al 31 maggio 2029.
La distribuzione Red Hat Enterprise Linux 9 è notevole per il passaggio a un processo di sviluppo più aperto. A differenza delle versioni precedenti, la base di pacchetti utilizzata per costruire la distribuzione è CentOS Stream 9. CentOS Stream è posizionato come progetto upstream per RHEL, che consente ai partecipanti esterni di controllare la preparazione dei pacchetti per RHEL, proporre le proprie modifiche e influenzare le decisioni prese. In passato, per la nuova versione RHEL veniva utilizzato uno snapshot di una delle versioni di Fedora, che veniva perfezionato e stabilizzato dietro porte chiuse, senza possibilità di controllare il processo di sviluppo e le decisioni prese. Ora, sulla base dello snapshot di Fedora, con la partecipazione della comunità, si forma la ramificazione di CentOS Stream, in cui viene svolto il lavoro preparatorio e si crea la base per una nuova significativa versione di RHEL.
Principali modifiche:
- È stato aggiornato l'ambiente di sistema e gli strumenti di compilazione. Per la compilazione dei pacchetti è stato utilizzato GCC 11. La libreria standard C è stata aggiornata a glibc 2.34. Il pacchetto con il kernel Linux è stato costruito sulla base della versione 5.14. Il gestore di pacchetti RPM è stato aggiornato alla versione 4.16 con supporto per il controllo dell'integrità tramite fapolicyd.
- È stata completata la migrazione della distribuzione a Python 3. Di default è stata proposta la versione Python 3.9. La fornitura di Python 2 è stata interrotta.
- Il desktop è basato su GNOME 40 (in RHEL 8 veniva fornito GNOME 3.28) e sulla libreria GTK 4. In GNOME 40, i desktop virtuali nella modalità di panoramica (Activities Overview) sono stati convertiti in orientamento orizzontale e vengono visualizzati come un elenco continuo scorrevole da sinistra a destra. Su ogni desktop, mostrato nella modalità di panoramica, sono evidenziate le finestre disponibili, per le quali si applicano panoramizzazione e ridimensionamento dinamici in base all'interazione dell'utente. È garantito un passaggio fluido tra l'elenco dei programmi e i desktop virtuali.
- In GNOME è presente il gestore power-profiles-daemon, che consente di passare al volo tra la modalità di risparmio energetico, la modalità di consumo energetico bilanciato e la modalità di massima performance.
- Tutti i flussi audio sono stati trasferiti al server multimediale PipeWire, che ora viene utilizzato di default al posto di PulseAudio e JACK. L'uso di PipeWire consente di fornire, nella normale edizione desktop, funzionalità di elaborazione audio di livello professionale, eliminando la frammentazione e unificando l'infrastruttura audio per diverse applicazioni.
- Per impostazione predefinita, il menu di avvio GRUB è nascosto, se RHEL è l'unico sistema operativo installato nel sistema e se il precedente avvio è avvenuto senza problemi. Per mostrare il menu durante l'avvio, è sufficiente tenere premuto il tasto Shift o premere più volte il tasto Esc o F8. Tra le modifiche al bootloader si segnala anche la collocazione dei file di configurazione di GRUB per tutte le architetture in un'unica cartella /boot/grub2/ (il file /boot/efi/EFI/redhat/grub.cfg è ora un collegamento simbolico a /boot/grub2/grub.cfg), ossia è possibile avviare lo stesso sistema installato sia utilizzando EFI che BIOS.
- I componenti per supportare diverse lingue sono stati separati in pacchetti langpacks, che consentono di variare il livello di supporto linguistico installato. Ad esempio, nel pacchetto langpacks-core-font sono disponibili solo i caratteri, in langpacks-core ci sono la locale per glibc, il carattere di base e il metodo di input, mentre in langpacks ci sono traduzioni, caratteri aggiuntivi e dizionari per il controllo ortografico.
- Per l'installazione simultanea di diverse versioni di software e per una generazione più frequente di aggiornamenti, vengono utilizzati i componenti Application Streams, che ora possono essere creati utilizzando tutte le opzioni di distribuzione dei pacchetti supportate in RHEL, comprese le RPM, i moduli (raggruppati in set di moduli di pacchetti rpm), SCL (Software Collection) e Flatpak.
- Aggiornati i componenti per garantire la sicurezza. Nel distributore è stata attivata una nuova branch della libreria crittografica OpenSSL 3.0. Sono abilitati per impostazione predefinita algoritmi crittografici più moderni e sicuri (ad esempio, è vietato l'uso di SHA-1 in TLS, DTLS, SSH, IKEv2 e Kerberos, disabilitati TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES e FFDHE-1024). Il pacchetto OpenSSH è stato aggiornato alla versione 8.6p1. Cyrus SASL è stato spostato sul backend GDBM invece di Berkeley DB. Nelle librerie NSS (Network Security Services) è stata interrotta la supporto per il formato DBM (Berkeley DB). GnuTLS è stato aggiornato alla versione 3.7.2.
- Le prestazioni di SELinux sono state significativamente migliorate e il consumo di memoria ridotto. In /etc/selinux/config è stata rimossa la supporto per la configurazione "SELINUX=disabled" per disabilitare SELinux (l'impostazione specificata ora disabilita solo il caricamento delle politiche, mentre per disattivare effettivamente la funzionalità di SELinux ora è necessario passare al kernel il parametro "selinux=0").
- È stato aggiunto il supporto sperimentale VPN WireGuard.
- Per impostazione predefinita è vietato l'accesso SSH come utente root.
- Gli strumenti di gestione del filtro dei pacchetti iptables-nft (utilità iptables, ip6tables, ebtables e arptables) e ipset sono stati dichiarati obsoleti. Per gestire il firewall, ora si raccomanda di utilizzare nftables.
- È stato incluso un nuovo demone mptcpd per la configurazione di MPTCP (MultiPath TCP), un'estensione del protocollo TCP per gestire le connessioni TCP con la consegna dei pacchetti simultaneamente su più percorsi attraverso diverse interfacce di rete, collegate a diversi indirizzi IP. L'uso di mptcpd consente di configurare MPTCP senza utilizzare l'utilità iproute2.
- È stato rimosso il pacchetto network-scripts; per configurare le connessioni di rete si deve utilizzare NetworkManager. È stato mantenuto il supporto per il formato di configurazione ifcfg, ma NetworkManager per impostazione predefinita utilizza un formato basato su file keyfile.
- Sono state incluse nuove versioni dei compilatori e degli strumenti per sviluppatori: 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.
- Aggiornati i pacchetti server Apache HTTP Server 2.4, nginx 1.20, Varnish Cache 6.5, Squid 5.1.
- Aggiornati i database MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2.
- Per la compilazione dell'emulatore QEMU è stato utilizzato Clang per impostazione predefinita, il che ha permesso di applicare nel hypervisor KVM alcuni meccanismi di protezione aggiuntivi, come SafeStack per proteggere contro metodi di sfruttamento basati su programmazione orientata al ritorno (ROP - Return-Oriented Programming).
- Ampliate le funzionalità della web console: aggiunte metriche di prestazione aggiuntive per identificare i colli di bottiglia (CPU, memoria, disco, risorse di rete), semplificata l'esportazione delle metriche per la visualizzazione tramite Grafana, aggiunta la possibilità di gestire i live patch al kernel, fornita supporto per l'autenticazione tramite smart card (incluso per sudo e SSH).
- In SSSD (System Security Services Daemon) è aumentato il livello di dettaglio dei log, ad esempio, ora il tempo di completamento del lavoro è allegato agli eventi e riflette il flusso di autenticazione. Aggiunte funzioni di ricerca per analizzare problemi di configurazione e prestazioni.
- Espanso il supporto per IMA (Integrity Measurement Architecture) per la verifica dell'integrità dei componenti del sistema operativo tramite firme digitali e hash.
- Per impostazione predefinita è stata attivata un'unica gerarchia unificata di cgroup (cgroup v2). I cgroup v2 possono essere utilizzati, ad esempio, per limitare il consumo di memoria, le risorse CPU e l'input/output. La principale differenza tra i cgroup v2 e v1 è l'applicazione di una gerarchia comune di cgroup per tutti i tipi di risorse, invece di gerarchie separate per la distribuzione delle risorse CPU, la regolazione del consumo di memoria e l'input/output. Le gerarchie separate portavano a difficoltà nell'organizzazione dell'interazione tra i gestori e a un costo aggiuntivo di risorse del kernel nell'applicazione di regole per il processo, menzionato in diverse gerarchie.
- Aggiunto il supporto per la sincronizzazione del tempo preciso basata sul protocollo NTS (Network Time Security), che utilizza elementi dell'infrastruttura a chiave pubblica (PKI) e consente l'uso di TLS e crittografia autenticata AEAD (Authenticated Encryption with Associated Data) per la protezione crittografica dell'interazione client e server del protocollo NTP (Network Time Protocol). Il server NTP chrony è stato aggiornato alla versione 4.1.
- Sono stati aggiunti nuovi ruoli di sistema Ansible per automatizzare l'installazione, configurazione e avvio di Postfix, Microsoft SQL Server, tunnel VPN e il servizio timesync. È stato aggiunto un nuovo ruolo Ansible per il supporto delle partizioni LVM (Logical Volume Manager) VDO (Virtual Data Optimizer).
- È stato garantito il supporto sperimentale (Technology Preview) per KTLS (implementazione TLS a livello kernel), Intel SGX (Software Guard Extensions), DAX (Direct Access) per ext4 e XFS, supporto AMD SEV e SEV-ES nel hypervisor KVM.
- Sono state incluse modifiche relative alla traduzione del codice sviluppato in Red Hat, della documentazione e delle risorse web per l'utilizzo di una terminologia più inclusiva, che implica l'abbandono dell'uso delle parole master, slave, blacklist e whitelist.
Fonte: opennet.ru
