A fost lansată versiunea beta a distribuției AlmaLinux 9, construită folosind pachete din ramura Red Hat Enterprise Linux 9 și conținând toate modificările propuse în această versiune. Compilările sunt pregătite pentru arhitecturile x86_64, ARM64, s390x și ppc64le sub formă de imagine de boot (780 MB), imagine minimă (1,7 GB) și imagine completă (8 GB). Lansările RHEL 9 și AlmaLinux 9 sunt așteptate la începutul lunii mai.
Distribuția este identică cu RHEL în funcționalitate, cu excepția modificărilor legate de rebranding și de eliminarea pachetelor specifice RHEL, cum ar fi redhat-*, insights-client și subscription-manager-migration*. AlmaLinux este gratuit pentru toate categoriile de utilizatori, se dezvoltă cu implicarea comunității și folosește un model de gestionare similar cu organizarea proiectului Fedora. Creatorii AlmaLinux au încercat să atingă un echilibru optim între suportul corporatist și interesele comunității — pe de o parte, dezvoltarea se bazează pe resursele și developerii companiei CloudLinux, care are o experiență bogată în întreținerea fork-urilor RHEL, iar pe de altă parte, proiectul este transparent și supus controlului comunității.
Distribuția AlmaLinux este bazată pe compania CloudLinux, care, în ciuda implicării resurselor și developerilor săi, a transferat proiectul unei organizații non-profit separate, AlmaLinux OS Foundation, pentru dezvoltare pe o platformă neutră cu implicarea comunității. Un milion de dolari pe an sunt alocați pentru dezvoltarea proiectului. Toate realizările AlmaLinux sunt publicate sub licențe libere.
Principalele modificări în AlmaLinux 9 și RHEL 9 în comparație cu ramura RHEL 8:
- Medii de sistem și instrumentele de compilare au fost actualizate. GCC 11 a fost utilizat pentru compilarea pachetelor. Biblioteca standard C a fost actualizată la glibc 2.34. Pachetul cu nucleul Linux a fost construit pe baza versiunii 5.14. Managerul de pachete RPM a fost actualizat la versiunea 4.16, cu suport pentru controlul integrității prin fapolicyd.
- Migrarea distribuției pe Python 3 a fost finalizată. Ramura Python 3.9 a fost propusă implicit. Livrarea Python 2 a fost suspendată.
- Desktop-ul se bazează pe GNOME 40 (în RHEL 8 a fost livrat GNOME 3.28) și biblioteca GTK 4. În GNOME 40, desktop-urile virtuale în modul de prezentare (Activities Overview) au fost mutate în orientare orizontală și sunt prezentate ca o secvență de derulare continuă, de la stânga la dreapta. Pe fiecare desktop, afișat în modul de prezentare, sunt prezentate clar feroneriile existente, pentru care se aplică panoramarea și scalarea dinamică la interacțiunea utilizatorului. Se asigură o tranziție fără întreruperi între lista de programe și desktop-urile virtuale.
- În GNOME este utilizat managerul power-profiles-daemon, care oferă posibilitatea de a comuta rapid între modul de economisire a energiei, modul de consum echilibrat și modul de performanță maximă.
- Toate fluxurile audio au fost migrate la serverul multimedia PipeWire, care este acum utilizat în mod implicit în loc de PulseAudio și JACK. Utilizarea PipeWire permite, în ediția desktop obișnuită, să ofere capabilități profesionale de prelucrare a sunetului, să elimine fragmentarea și să unifice infrastructura audio pentru diferite aplicații.
- În mod implicit, meniul de boot GRUB este ascuns, dacă RHEL este singurul distribuitor instalat în sistem și dacă ultima pornire a avut loc fără erori. Pentru a afișa meniul în timpul boot-ului, este suficient să mențineți apăsată tasta Shift sau să apăsați de mai multe ori tasta Esc sau F8. Printre modificările aduse încărcătorului de boot se remarcă plasarea fișierelor de configurare GRUB pentru toate arhitecturile într-un singur director /boot/grub2/ (fișierul /boot/efi/EFI/redhat/grub.cfg este acum un link simbolic către /boot/grub2/grub.cfg), adică aceeași sistem instalat poate fi pornit atât utilizând EFI, cât și BIOS.
- Componentele pentru suportul diferitelor limbi au fost scoase în pachete langpacks, care permit varierea nivelului de suport lingvistic instalat. De exemplu, în pachetul langpacks-core-font sunt oferite doar fonturi, în langpacks-core – localizarea pentru glibc, fontul de bază și metoda de introducere, iar în langpacks – traduceri, fonturi suplimentare și dicționare pentru verificarea ortografiei.
- Componentele au fost actualizate pentru a asigura securitatea. Distribuția a implementat o nouă ramură a bibliotecii criptografice OpenSSL 3.0. Au fost activate prin intermediul configurației algoritmi criptografici mai moderni și mai siguri (de exemplu, utilizarea SHA-1 în TLS, DTLS, SSH, IKEv2 și Kerberos este interzisă, iar TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES și FFDHE-1024 sunt dezactivate). Pachetul OpenSSH a fost actualizat la versiunea 8.6p1. Cyrus SASL a fost mutat pe backend GDBM în loc de Berkeley DB. În bibliotecile NSS (Network Security Services) suportul formatului DBM (Berkeley DB) a fost încheiat. GnuTLS a fost actualizat la versiunea 3.7.2.
- Performanța SELinux a fost semnificativ îmbunătățită și consumul de memorie a fost redus. În /etc/selinux/config a fost eliminat suportul pentru setarea "SELINUX=disabled" pentru dezactivarea SELinux (setarea indicată acum dezactivează doar încărcarea politicilor, iar pentru dezactivarea efectivă a funcționalității SELinux este necesară transmiterea parametrului "selinux=0" către kernel).
- Suport experimental adăugat VPN WireGuard.
- Accesul prin SSH sub utilizatorul root este interzis implicit.
- Instruments de gestionare a filtrului de pachete iptables-nft (utilitățile iptables, ip6tables, ebtables și arptables) și ipset au fost declarate învechite. Pentru gestionarea firewall-ului este acum recomandat să se folosească nftables.
- A fost inclus un nou demon mptcpd pentru configurarea MPTCP (MultiPath TCP), o extensie a protocolului TCP pentru a permite funcționarea conexiunilor TCP cu livrarea pachetelor simultan pe mai multe rute prin diferite interfețe de rețea, legate la diferite adrese IP. Utilizarea mptcpd permite configurarea MPTCP fără utilizarea utilitarului iproute2.
- Pachetul network-scripts a fost eliminat, iar pentru configurarea conexiunilor de rețea se recomandă utilizarea NetworkManager. Suportul pentru formatul de configurare ifcfg a fost păstrat, dar NetworkManager utilizează implicit un format bazat pe fișier keyfile.
- Au fost incluse noi versiuni de compilatoare și instrumente pentru dezvoltatori: 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.
- Pachetele de server Apache HTTP Server 2.4.48, nginx 1.20, Varnish Cache 6.5, Squid 5.1 au fost actualizate.
- Au fost actualizate sistemele de baze de date MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2.
- Pentru compilarea emulatorului QEMU, Clang a fost implicat implicit, ceea ce a permis aplicarea în hypervisorul KVM a unor mecanisme suplimentare de protecție, cum ar fi SafeStack pentru protecția împotriva tehnicilor de exploatare bazate pe programarea orientată pe returnare (ROP – Return-Oriented Programming).
- În SSSD (System Security Services Daemon) a fost îmbunătățit nivelul de detaliere al jurnalelor, de exemplu, acum este atașat timpul de finalizare a sarcinii la evenimente și este reflectat fluxul de autentificare. Au fost adăugate funcții de căutare pentru analizarea problemelor de configurare și performanță.
- Suportul pentru IMA (Integrity Measurement Architecture) a fost extins pentru a verifica integritatea componentelor sistemului de operare prin semnături digitale și hash-uri.
- În mod implicit, este activată o ierarhie unificată de cgroup (cgroup v2). Cgroups v2 pot fi utilizate, de exemplu, pentru a limita consumul de memorie, resurse CPU și input/output. Principala diferență între cgroups v2 și v1 este aplicarea unei ierarhii comune de cgroups pentru toate tipurile de resurse, în locul unor ierarhii separate pentru distribuirea resurselor CPU, pentru reglementarea consumului de memorie și pentru input/output. Ierarhiile separate au dus la dificultăți în organizarea interacțiunilor între gestionari și la costuri suplimentare cu resursele nucleului în aplicarea regulilor pentru un proces, menționat în diferite ierarhii.
- A fost adăugat suport pentru sincronizarea timpului exact bazat pe protocolul NTS (Network Time Security), care utilizează elemente ale infrastructurii cu cheie publică (PKI) și permite utilizarea TLS și criptării autentificate AEAD (Authenticated Encryption with Associated Data) pentru protecția criptografică a interacțiunii clientului și server prin protocolul NTP (Network Time Protocol). Serverul NTP chrony a fost actualizat la versiunea 4.1.
- S-a asigurat suport experimental pentru KTLS (implementarea TLS la nivel de kernel), Intel SGX (Software Guard Extensions), DAX (Direct Access) pentru ext4 și XFS, suport pentru AMD SEV și SEV-ES în hipervizorul KVM.
Sursa: opennet.ro
