Spoločnosť Red Hat predstavila prvú beta verziu distribúcie Red Hat Enterprise Linux 9. Pripravené inštalačné obrazy sú dostupné pre registrovaných používateľov Red Hat Customer Portal (na hodnotenie funkčnosti sa dajú použiť aj iso-obrazy CentOS Stream 9). Repozitáre s balíčkami sú k dispozícii bez obmedzení pre architektúry x86_64, s390x (IBM System z), ppc64le a Aarch64 (ARM64). Zdrojové kódy rpm-balíčkov Red Hat Enterprise Linux 9 sú umiestnené v Git-repozitári CentOS. Uvoľnenie sa očakáva v prvej polovici nasledujúceho roka. V súlade s 10-ročným cyklom podpory bude distribúcia RHEL 9 podporovaná až do roku 2032. Aktualizácie pre RHEL 7 budú pokračovať vo vydávaní do 30. júna 2024, pre RHEL 8 – do 31. mája 2029.
Distribúcia Red Hat Enterprise Linux 9 vyniká prechodom na otvorenejší proces vývoja. Na rozdiel od predchádzajúcich vetiev, ako základ pre vytvorenie distribúcie bola použitá balíková základňa CentOS Stream 9. CentOS Stream je pozicionovaný ako upstream projekt pre RHEL, ktorý umožňuje externým účastníkom kontrolovať prípravu balíkov pre RHEL, navrhovať svoje zmeny a ovplyvňovať prijímané rozhodnutia. Predtým bol základom pre novú vetvu RHEL snapshot jednej z verzií Fedora, ktorá bola upravovaná a stabilizovaná za zavretými dverami, bez možnosti kontrolovať priebeh vývoja a prijímané rozhodnutia. Teraz je na základe snapshotu Fedora s účasťou komunity formovaná vetva CentOS Stream, v ktorej sa vykonáva prípravná práca a formuje sa základ pre novú významnú vetvu RHEL.
Kľúčové zmeny:
- Aktualizované systémové prostredie a nástroje na zostavovanie. Na zostavovanie balíkov bol použitý GCC 11. Štandardná C knižnica bola aktualizovaná na glibc 2.34. Balík s jadrom Linux je postavený na základe verzie 5.14. Správca balíkov RPM bol aktualizovaný na verziu 4.16 s podporou kontroly integrity prostredníctvom fapolicyd.
- Dokončená migrácia distribúcie na Python 3. Predvolená verzia je Python 3.9. Dodávka Python 2 bola prerušená.
- Desktop je založen na GNOME 40 (v RHEL 8 bol dodaný GNOME 3.28) a knižnici GTK 4. V GNOME 40 sú virtuálne pracovné plochy v režime prehľadu (Activities Overview) prevedené do horizontálnej orientácie a zobrazujú sa ako nepretržite posúvaný reťazec sprava doľava. Na každej pracovnej ploche, ktorá je zobrazená v prehľadovom režime, sú jasne zobrazené otvorené okná, na ktoré sa aplikuje dynamické panorámovanie a priblíženie pri interakcii používateľa. Je zabezpečený plynulý prechod medzi zoznamom aplikácií a virtuálnymi pracovnými plochami.
- V GNOME je zapojený spracovateľ power-profiles-daemon, ktorý poskytuje možnosť prehupnutia na letmé prepínanie medzi režimom úspory energie, režimom vyváženého spotrebovania energie a režimom maximálneho výkonu.
- Všetky zvukové toky sú prevedené na multimediálny server PipeWire, ktorý sa teraz používa ako predvolený miesto PulseAudio a JACK. Používanie PipeWire umožňuje v bežnej desktopovej edícii poskytnúť možnosti profesionálneho spracovania zvuku, zbaviť sa fragmentácie a zjednotiť zvukovú infraštruktúru pre rôzne aplikácie.
- Predvolene je skryté zavádzacie menu GRUB, ak je RHEL jediným nainštalovaným distribučným systémom a ak predchádzajúce zavedenie prebehlo bez chýb. Na zobrazenie menu počas spúšťania stačí podržať kláves Shift alebo niekoľkokrát stlačiť kláves Esc alebo F8. Medzi zmenami v zavádzači sa tiež zaznamenáva umiestnenie konfiguračných súborov GRUB pre všetky architektúry v jednom adresári /boot/grub2/ (súbor /boot/efi/EFI/redhat/grub.cfg je teraz symbolickým odkazom na /boot/grub2/grub.cfg), t.j. tú istú nainštalovanú sústavu je možné spúšťať ako pomocou EFI, tak aj BIOS.
- Komponenty na podporu rôznych jazykov sú vyňaté do balíkov langpacks, ktoré umožňujú variabilitu v úrovni nainštalovanej jazykovej podpory. Napríklad, v balíku langpacks-core-font sú ponúkané iba písma, v langpacks-core -- lokalizácia pre glibc, základné písmo a metóda vstupu, a v langpacks -- preklady, dodatočné písma a slovníky na kontrolu pravopisu.
- Na súčasnú inštaláciu rôznych verzií softvéru a častejšie vytváranie aktualizácií sa používajú komponenty Application Streams, ktoré teraz môžu byť vytvárané s využitím všetkých podporovaných v RHEL variantov distribúcie balíčkov, vrátane RPM-balíčkov, modulov (zhromaždených do modulov balíčkov rpm), SCL (Software Collection) a Flatpak.
- Aktualizované komponenty pre zabezpečenie. V distribúcii je zapojená nová vetva kryptografickej knižnice OpenSSL 3.0. Predvolene sú zapnuté modernejšie a spoľahlivejšie kryptografické algoritmy (napríklad je zakázané použitie SHA-1 v TLS, DTLS, SSH, IKEv2 a Kerberos, vypnuté sú TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES a FFDHE-1024). Balík OpenSSH bol aktualizovaný na verziu 8.6p1. Cyrus SASL bol preložený na backend GDBM namiesto Berkeley DB. V knižniciach NSS (Network Security Services) bola ukončená podpora DBM formátu (Berkeley DB). GnuTLS bol aktualizovaný na verziu 3.7.2.
- Významne sa zvýšila výkonnosť SELinuxu a znížila spotreba pamäte. V /etc/selinux/config bola odstránená podpora pre nastavenie „SELINUX=disabled“ na vypnutie SELinuxu (uvedené nastavenie iba vypína načítanie politík, na skutočné vypnutie funkčnosti SELinuxu je potrebné poslať jadru parameter „selinux=0“).
- Bola pridaná experimentálna podpora VPN WireGuard.
- Predvolene je zakázaný prístup po SSH pod používateľom root.
- Nástroje na správu balíkov filtra iptables-nft (nástroje iptables, ip6tables, ebtables a arptables) a ipset sú oznámené ako zastarané. Na správu firewallu sa teraz odporúča používať nftables.
- Zavedený je nový démon mptcpd na nastavenie MPTCP (MultiPath TCP), rozšírenia protokolu TCP na organizáciu TCP pripojení s dodávkou paketov súčasne cez niekoľko trás prostredníctvom rôznych sieťových rozhraní viazaných na rôzne IP adresy. Použitie mptcpd umožňuje nastaviť MPTCP bez nutnosti používať nástroj iproute2.
- Balík network-scripts bol odstránený, na konfiguráciu sieťových pripojení sa má používať NetworkManager. Podpora formátu nastavení ifcfg bola zachovaná, ale NetworkManager predvolene používa formát na báze súboru keyfile.
- Zavedené sú nové verzie kompilátorov a nástrojov pre vývojárov: 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.
- Aktualizované serverové balíčky Apache HTTP Server 2.4, nginx 1.20, Varnish Cache 6.5, Squid 5.1.
- Aktualizované DBMS MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2.
- Na zostavenie emulátora QEMU je predvolene použitý Clang, čo umožnilo aplikovať v hypervízore KVM niektoré dodatočné ochranné mechanizmy, ako je SafeStack na ochranu pred metódami zneužitia založenými na návratovo orientovanom programovaní (ROP – Return-Oriented Programming).
- Rozšírené možnosti webovej konzoly: pridané ďalšie metriky výkonu na identifikáciu úzkych miest (CPU, pamäť, disk, sieťové zdroje), zjednodušený export metrik na vizualizáciu pomocou Grafana, pridaná možnosť správy live-patchov pre jadro, poskytovaná podpora autentifikácie prostredníctvom smart kariet (vrátane pre sudo a SSH).
- V SSSD (Daemon služieb zabezpečenia systému) bola zvýšená podrobnosť protokolovania, napríklad k udalostiam je teraz priradený čas dokončenia úlohy a sú zobrazené autentifikačné toky. Pridané funkcie vyhľadávania na analýzu problémov s konfiguráciou a výkonom.
- Rozšírená podpora IMA (Architektúra merania integrity) na overovanie integrity komponentov operačného systému prostredníctvom digitálnych podpisov a hashov.
- Jednotná unifikovaná hierarchia cgroup (cgroup v2) je predvolene aktívna. Cgroups v2 môžu byť použité napríklad na obmedzenie spotreby pamäte, CPU a vstupu/výstupu. Kľúčovým rozdielom medzi cgroups v2 a v1 je aplikácia spoločnej hierarchie cgroups pre všetky druhy zdrojov, namiesto oddelených hierarchií na rozdeľovanie zdrojov CPU, reguláciu spotreby pamäte a pre vstup/výstup. Oddelené hierarchie viedli k ťažkostiam s organizáciou interakcie medzi spracovateľmi a k dodatočným nákladom na zdroje jadra pri aplikovaní pravidiel na procesy, ktoré sú uvedené v rôznych hierarchiách.
- Pridaná podpora synchronizácie presného času na základe protokolu NTS (Network Time Security), ktorý využíva prvky infraštruktúry verejných kľúčov (PKI) a umožňuje používať TLS a autentifikované šifrovanie AEAD (Authenticated Encryption with Associated Data) pre kryptografickú ochranu interakcie klienta a servera prostredníctvom protokolu NTP (Network Time Protocol). NTP server chrony bol aktualizovaný na verziu 4.1.
- Pridané nové systémové úlohy Ansible na automatizáciu inštalácie, konfigurácie a spustenia Postfix, Microsoft SQL Server, VPN tunelov a služby timesync. Pridaná nová úloha Ansible na podporu sekcií LVM (Logical Volume Manager) VDO (Virtual Data Optimizer).
- Zabezpečená experimentálna (Technology Preview) podpora KTLS (realizácia TLS na úrovni jadra), Intel SGX (Software Guard Extensions), DAX (Direct Access) pre ext4 a XFS, podpora AMD SEV a SEV-ES v hypervízore KVM.
- Boli zahrnuté zmeny súvisiace s prekladom kódu, dokumentácie a webových zdrojov vyvíjaných v Red Hat na používanie inkluzívnejšej terminológie, čo zahŕňa zrieknutie sa používania slov master, slave, blacklist a whitelist.
Zdroj: opennet.ru
