Společnost Red Hat představila první beta verzi distribuce Red Hat Enterprise Linux 9. Instalace jsou připraveny pro registrované uživatele Red Hat Customer Portal (pro vyhodnocení funkčnosti lze také použít iso obrazy CentOS Stream 9). Repozitáře s balíčky jsou dostupné bez omezení pro architektury x86_64, s390x (IBM System z), ppc64le a Aarch64 (ARM64). Zdrojové kódy rpm balíčků Red Hat Enterprise Linux 9 jsou umístěny v Git repozitáři CentOS. Vydání se očekává v první polovině příštího roku. V souladu s desetiletým cyklem podpory bude distribuce RHEL 9 podporována až do roku 2032. Aktualizace pro RHEL 7 budou pokračovat až do 30. června 2024, pro RHEL 8 do 31. května 2029.
Distribuce Red Hat Enterprise Linux 9 se vyznačuje přechodem na otevřenější proces vývoje. Na rozdíl od předchozích větví byla jako základ pro tvorbu distribuce použita balíčková základna CentOS Stream 9. CentOS Stream je prezentován jako upstream projekt pro RHEL, který umožňuje externím účastníkům kontrolovat přípravu balíčků pro RHEL, navrhovat své změny a ovlivňovat přijatá rozhodnutí. Dříve byl jako základ pro novou větev RHEL používán snapshot jednoho z vydání Fedory, který byl vyvíjen a stabilizován za zavřenými dveřmi, bez možnosti kontrolovat průběh vývoje a přijatá rozhodnutí. Nyní se na základě snapshotu Fedory ve spolupráci s komunitou formuje větev CentOS Stream, ve které probíhá příprava a vytváří se základ pro novou významnou větev RHEL.
Klíčové změny:
- Bylo aktualizováno systémové prostředí a nástroje pro sestavování. Pro sestavování balíčků byl využit GCC 11. Standardní C knihovna byla aktualizována na glibc 2.34. Balíček s jádrem Linux je postaven na základě vydání 5.14. Správce balíčků RPM byl aktualizován na verzi 4.16 s podporou kontroly integrity pomocí fapolicyd.
- Byla dokončena migrace distribuce na Python 3. Výchozí verze je Python 3.9. Dodávky Python 2 byly ukončeny.
- Pracovní plocha je postavena na GNOME 40 (v RHEL 8 byl dodáván GNOME 3.28) a knihovně GTK 4. V GNOME 40 jsou virtuální pracovní plochy v režimu přehledu (Activities Overview) převedeny na horizontální orientaci a zobrazeny jako nepřetržitě procházený řetězec zleva doprava. Na každé pracovní ploše, která se zobrazuje v režimu přehledu, jsou názorně představeny otevřené okna, pro která je aplikováno dynamické posouvání a přiblížení při interakci uživatele. Je zajištěn plynulý přechod mezi seznamem programů a virtuálními pracovními plochami.
- V GNOME je využíván zpracovatel power-profiles-daemon, který umožňuje přepínání mezi režimem úspory energie, režimem vyvážené spotřeby energie a režimem maximálního výkonu na vyžádání.
- Všechny zvukové toky byly převedeny na multimediální server PipeWire, který je nyní používán jako výchozí místo PulseAudio a JACK. Použití PipeWire umožňuje v běžné desktopové edici poskytnout možnosti profesionálního zpracování zvuku, odstranit fragmentaci a zjednotit zvukovou infrastrukturu pro různé aplikace.
- Ve výchozím nastavení je skryta zaváděcí nabídka GRUB, pokud je RHEL jediným distribučním systémem nainstalovaným v systému a pokud poslední spuštění proběhlo bez chyb. Pro zobrazení nabídky během spouštění stačí stisknout klávesu Shift nebo několikrát stisknout klávesy Esc nebo F8. Mezi změnami v zaváděči je také umístění konfiguračních souborů GRUB pro všechny architektury do jednoho adresáře /boot/grub2/ (soubor /boot/efi/EFI/redhat/grub.cfg je nyní symbolickým odkazem na /boot/grub2/grub.cfg), tj. stejný nainstalovaný systém lze spouštět jak pomocí EFI, tak BIOS.
- Komponenty pro podporu různých jazyků byly přesunuty do balíčků langpacks, které umožňují variabilní úroveň nainstalované jazykové podpory. Například balíček langpacks-core-font nabízí pouze písma, balíček langpacks-core – lokalizaci pro glibc, základní písmo a metodu vstupu, zatímco v langpacks – jsou překlady, další písma a slovníky pro kontrolu pravopisu.
- Pro současnou instalaci různých verzí softwaru a častější formování aktualizací se používají komponenty Application Streams, které nyní mohou být vytvářeny s využitím všech podporovaných variant distribuce balíčků v RHEL, včetně RPM balíčků, modulů (skupinovaných v modulech sady rpm balíčků), SCL (Software Collection) a Flatpak.
- Byly aktualizovány komponenty zajišťující bezpečnost. V distribuci je zapojena nová větev kryptografické knihovny OpenSSL 3.0. Ve výchozím nastavení jsou zahrnuty modernější a spolehlivější kryptografické algoritmy (například je zakázáno používání SHA-1 v TLS, DTLS, SSH, IKEv2 a Kerberos, byly deaktivovány TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES a FFDHE-1024). Balíček OpenSSH byl aktualizován na verzi 8.6p1. Cyrus SASL byl převeden na backend GDBM místo Berkeley DB. V knihovnách NSS (Network Security Services) byla ukončena podpora formátu DBM (Berkeley DB). GnuTLS byl aktualizován na verzi 3.7.2.
- Výrazně byla zvýšena výkonnost SELinux a snížena spotřeba paměti. V /etc/selinux/config byla odstraněna podpora nastavení "SELINUX=disabled" pro vypnutí SELinux (toto nastavení nyní pouze zakáže načtení politik, a pro skutečné vypnutí funkčnosti SELinux je nyní nutné předat jádru parametr "selinux=0").
- Byla přidána experimentální podpora VPN WireGuard.
- Ve výchozím nastavení je zakázán přístup přes SSH pod uživatelským účtem root.
- Byly označeny za zastaralé nástroje pro správu filtrů balíčků iptables-nft (nástroje iptables, ip6tables, ebtables a arptables) a ipset. Pro správu firewallu se nyní doporučuje používat nftables.
- Byl zahrnut nový démon mptcpd pro konfiguraci MPTCP (MultiPath TCP), rozšíření protokolu TCP pro organizaci provozu TCP spojení, které může doručovat pakety současně po několika cestách přes různé síťové rozhraní, vázaná na různé IP adresy. Použití mptcpd usnadňuje nastavení MPTCP bez použití nástroje iproute2.
- Byl odstraněn balíček network-scripts, pro konfiguraci síťových připojení se doporučuje používat NetworkManager. Podpora formátu nastavení ifcfg byla zachována, ale NetworkManager ve výchozím nastavení používá formát na základě souboru keyfile.
- Byly zahrnuty nové verze kompilátorů a nástrojů pro vývojáře: 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.
- Byly aktualizovány serverové balíčky Apache HTTP Server 2.4, nginx 1.20, Varnish Cache 6.5, Squid 5.1.
- Byly aktualizovány databázové systémy MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2.
- Pro sestavení emulátoru QEMU je výchozím kompilátorem Clang, což umožnilo implementaci některých dodatečných ochranných mechanismů v hypervizoru KVM, jako je SafeStack pro ochranu proti exploitacím založeným na orientaci návratu (ROP — Return-Oriented Programming).
- Možnosti webové konzole byly rozšířeny: byly přidány další metriky výkonu pro identifikaci úzkých míst (CPU, paměť, disk, síťové zdroje), zjednodušený export metrik pro vizualizaci pomocí Grafana, přidána možnost správy live-patchů jádra, poskytnuta podpora autentizace přes smart karty (včetně pro sudo a SSH).
- V SSSD (System Security Services Daemon) byla zvýšena úroveň podrobnosti logů, například k událostem je nyní připojeno časové razítko ukončení úlohy a odráží se tok autentizace. Byly přidány funkce vyhledávání pro analýzu problémů s nastavením a výkonem.
- Byla rozšířena podpora IMA (Integrity Measurement Architecture) pro kontrolu integrity komponent operačního systému pomocí digitálních podpisů a hashů.
- Ve výchozím nastavení je nasazena jednotná unifikovaná hierarchie cgroup (cgroup v2). Cgroups v2 lze použít například k omezení spotřeby paměti, CPU a I/O zdrojů. Hlavním rozdílem cgroups v2 od v1 je použití společné hierarchie cgroups pro všechny typy zdrojů místo oddělených hierarchií pro rozdělení zdrojů CPU, pro regulaci spotřeby paměti a pro I/O. Oddělené hierarchie vedly k obtížím při organizaci interakcí mezi zpracovateli a k dalšímu zatížení prostředků jádra při aplikaci pravidel na procesy zmíněné v různých hierarchiích.
- Byla přidána podpora synchronizace přesného času na základě protokolu NTS (Network Time Security), který využívá prvky infrastruktury veřejných klíčů (PKI) a umožňuje používat TLS a autentizované šifrování AEAD (Authenticated Encryption with Associated Data) pro kryptografickou ochranu interakce mezi klienty a serveru protokolem NTP (Network Time Protocol). NTP server chrony byl aktualizován na verzi 4.1.
- Byly přidány nové systémové role Ansible pro automatizaci instalace, konfigurace a spouštění Postfixu, Microsoft SQL Serveru, VPN tunelů a služby timesync. Byla přidána nová role Ansible pro podporu sekcí LVM (Logical Volume Manager) VDO (Virtual Data Optimizer).
- Byla zajištěna experimentální (Technology Preview) podpora KTLS (implementace TLS na úrovni jádra), Intel SGX (Software Guard Extensions), DAX (Direct Access) pro ext4 a XFS, a podpora AMD SEV a SEV-ES v hypervizoru KVM.
- Byly zahrnuty změny týkající se překladu vyvíjeného kódu, dokumentace a webových zdrojů Red Hat na používání více inkluzivní terminologie, která zahrnuje vzdalování se od slov master, slave, blacklist a whitelist.
Zdroj: opennet.ru
