Firma Red Hat opublikowała wydanie dystrybucji Red Hat Enterprise Linux 9.3 (nowa gałąź została ogłoszona w zeszłym tygodniu, ale uwagi dotyczące wydania zostały umieszczone dopiero wczoraj, a wcześniej na stronie widniał znak wersji beta). Aktualizacja poprzedniej gałęzi RHEL 8.9 jest planowana na 15 listopada. Gotowe obrazy instalacyjne są dostępne dla zarejestrowanych użytkowników Portalu Klienta Red Hat (w celach oceny funkcjonalności można również korzystać z obrazów iso CentOS Stream 9 oraz darmowych wersji RHEL dla deweloperów). Wydanie zostało przygotowane dla architektur x86_64, s390x (IBM System z), ppc64le i Aarch64 (ARM64).
Gałąź RHEL 9 rozwija się w bardziej otwartym procesie deweloperskim i korzysta z pakietów zawartych w CentOS Stream 9 jako podstawy. CentOS Stream jest promowany jako projekt upstreamowy dla RHEL, który daje stronom trzecim możliwość monitorowania przygotowywania pakietów dla RHEL, proponowania własnych zmian oraz wywierania wpływu na podejmowane decyzje. Zgodnie z 10-letnim cyklem wsparcia, dystrybucja RHEL 9 będzie wspierana do 2032 roku.
RHEL 9.3 stał się pierwszym wydaniem, których źródła rpm-pakietów nie są umieszczane w publicznym repozytorium git.centos.org i są udostępniane klientom firmy tylko przez zamkniętą część strony, na której obowiązuje umowa użytkownika (EULA) zabraniająca redystrybucji danych, co uniemożliwia wykorzystanie tych pakietów do tworzenia pochodnych dystrybucji. Źródła pozostają dostępne w repozytorium CentOS Stream, ale nie są w pełni synchronizowane z RHEL, i nie zawsze najnowsze wersje pakietów pokrywają się z pakietami z RHEL. Rocky Linux, Oracle i SUSE połączyły siły i teraz reprodukują źródła rpm-pakietów wydań RHEL w ramach projektu OpenELA.
Kluczowe zmiany w RHEL 9.3:
- Zostały wprowadzone nowe wersje kompilatorów i narzędzi dla programistów: GCC Toolset 13, LLVM Toolset 16.0.6, Rust Toolset 1.71.1, Go Toolset 1.20.10, GCC 11.4.1 (kompilator systemowy), Redis 7, Node.js 20, java-21-openjdk (dostępne są również java-17-openjdk, java-11-openjdk oraz java-1.8.0-openjdk), Valgrind 3.21, SystemTap 4.9, elfutils 0.189, PCP 6.0.5, Grafana 9.2.10.
- Zaktualizowano pakiety serwerowe i systemowe: samba 4.18.6, iproute 6.2.0, Apache httpd 2.4.57 (+ dodany moduł 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.
- Do menedżera pakietów DNF dodano polecenie „reboot” do automatycznego restartu po zakończeniu aktualizacji. Dostępne są następujące tryby: „never” (domyślnie) — bez restartu, „when-changed” — restart po każdej aktualizacji (dnf upgrade) oraz „when-needed” — restart tylko, jeśli wymaga tego zainstalowana zmiana (np. po zainstalowaniu aktualizacji jądra lub systemd). Dla wyłączenia zamiast restartu przewidziano parametr „—poweroff”.
- W DNF dodano nowe wtyczki: „dnf leaves” do wyświetlania wszystkich zainstalowanych pakietów, które nie są zależnościami dla innych pakietów; „show-leaves” do pokazywania ostatnio zainstalowanych podobnych pakietów lub pakietów, które przestały być używane jako zależności po transakcji.
- Z najnowszej wersji jądra Linux przeniesione zostały implementacje protokołów SCTP (Stream Control Transmission Protocol) i MPTCP (Multipath TCP).
- Na platformie ARM64 wprowadzono pełne wsparcie dla kamer z interfejsem USB, bezprzewodowych adapterów (Wi-Fi) i Bluetooth.
- Zapewniono pełne wsparcie dla dedykowanych kart graficznych Intel Arc A-Series (Alchemist lub DG2).
- Implementacja podsystemu eBPF została zsynchronizowana z jądrem Linux 6.3.
- Dodano narzędzia Stratis do zarządzania lokalnymi urządzeniami magazynującymi, oferujące takie funkcje, jak dynamiczne przydzielanie miejsca w magazynie, migawki, zapewnienie integralności oraz tworzenie warstw do buforowania.
- W systemie systemd-udevd wprowadzono zmiany umożliwiające przypisywanie niezmiennych nazw do interfejsów sieciowych InfiniBand.
- W Postfix wprowadzono możliwość sprawdzania rekordów DNS SRV w celu określenia hosta i portu serwera pocztowego, który będzie używany do przesyłania wiadomości. Proponowana funkcjonalność może być wykorzystywana w infrastrukturach, w których do dostarczania wiadomości pocztowych używane są usługi z dynamicznie przypisanymi numerami portów sieciowych.
- W pakiecie cups-filters dodano sterownik LF-to-CRLF, który można wykorzystać do konwersji znaków „\n” (przejście do nowej linii) na „\r\n” (powrót karetki i przejście do nowej linii) dla drukarek, które obsługują tylko przetwarzanie plików z końcem linii „\r\n”.
- W FUSE3 dodano możliwość unieważnienia elementu katalogu bez automatycznego odmontowywania punktów montowania związanych z tym elementem.
- W NetworkManager dodano obsługę opcji „no-aaaa” w resolv.conf, która wyłącza wysyłanie zapytań DNS rekordów AAAA (określenie adresu IPv6 po nazwie hosta). Dodano obsługę opcji „lacp_active” do zarządzania przetwarzaniem ramek LACPDU (Link Aggregation Control Protocol Data Units). Zrealizowano ponowne uruchomienie NetworkManagera po ponownym uruchomieniu usługi dbus. Zapewniono wyświetlanie powiadomienia w przypadku używania starych formatów konfiguracji ifcfg dla profili połączeń. Dodano wsparcie dla właściwości: link.tx-queue-length, link.gro-max-size, link.gso-max-segments oraz link.gso-max-size.
- Dla tego samego interfejsu sieciowego w NetworkManagerze dopuszczalne jest używanie zarówno statycznych, jak i dynamicznych (DHCP) ustawień, na przykład narzędzie nmstate może ustawić statyczny adres dla interfejsu, na którym włączona jest obsługa DHCP. W nmstate dopuszczalne jest przypisywanie ustawień do interfejsu sieciowego według adresu MAC zamiast nazwy interfejsu.
- Rozszerzona obsługa sprzętu. Dodano obsługę CPU ARM64 NVIDIA Grace. Z jądra Linux 6.2 przeniesiono sterownik Intel QAT z obsługą urządzeń Intel Quick Assist Technology 401xx/402xx.
- Aby chronić przed atakami Spectre v2 związanymi z spekulacyjnym wykonaniem instrukcji, dodano tryb AutoIBRS (Automatic Indirect Branch Restricted Speculation), obsługiwany w CPU AMD, począwszy od rodziny EPYC 9004 Genoa.
- Dla kontenerów udostępniono możliwość korzystania z wirtualnych chipów do przechowywania kluczy kryptograficznych (vTPM), realizowanych na bazie wspólnego fizycznego TPM (Trusted Platform Module).
- W LVM dodano wsparcie dla logicznych partycji vmcore dla zrzutów jądra tworzonych przez podsystem kdump.
- Do instalacyjnych zestawów dodano parametr „inst.wait_for_disks”, definiujący czas oczekiwania na załadowanie pliku kickstart lub dostępność sterowników w trakcie uruchamiania.
- W instalatorze podczas instalacji na systemach ARM udostępniono możliwość wyboru wersji instalowanego jądra (na przykład z 64 KB stronami pamięci). Z minimalnego trybu instalacji usunięto pakiet s390utils-base i pozostawiono tylko s390utils-core.
- W narzędziu do tworzenia obrazów RHEL dodano możliwość generowania plików w formacie OVA dla VMware VSphere.
- Do plików kickstart w poleceniu network dodano nowe opcje „—ipv4-dns-search” i „—ipv6-dns-search” do określenia podstawowych domen dla dyrektywy „search” w /etc/resolv.conf, a także opcje „—ipv4-ignore-auto-dns” i „—ipv6-ignore-auto-dns” do ignorowania otrzymanych ustawień DNS przez DHCP.
- Udoskonalono obsługę rozszerzenia TLS EMS (Extended Master Secret, RFC 7627, niezbędnego do zapewnienia zgodności z wymogami FIPS-140-3 w połączeniach opartych na TLS 1.2.
- W OpenSSH rozpoczęto eliminację użycia algorytmów opartych na haszach SHA-1 na rzecz SHA-2. Jeśli na serwerze brakuje kluczy opartych na SHA-1, w sshd będzie teraz używać tylko SHA-2 do potwierdzania kluczy hostów, co może prowadzić do niezgodności z klientami RHEL 8 i starszymi wersjami.
- W OpenSSL dodano wsparcie dla konfigurowania parametrów zabezpieczonych krzywych eliptycznych Brainpool oraz wdrożono ochronę przed atakami deszyfrowania RSA opartymi na pomiarze czasu operacji wykorzystujących warianty metody Bleichenbachera.
- W RPCSEC GSS Kerberos V5 dodano wsparcie dla metod szyfrowania camellia128-cts-cmac, camellia256-cts-cmac, aes128-cts-hmac-sha256-128 oraz aes256-cts-hmac-sha384-192.
- W narzędziach audytowych dodano wsparcie dla zdarzeń FANOTIFY oraz zaimplementowano rejestrowanie w logach pól fan_type (typ zdarzenia), fan_info (powiązana informacja), sub_trust i obj_trust (poziomy zaufania dla podmiotu i obiektu zdarzenia). W serwisie fapolicyd, w celu uproszczenia debugowania problemów, dodano przekazywanie numerów reguł dla odrzuconych żądań do API fanotify.
- Dodano systemową rolę dla narzędzia keylime, ułatwiającą konfigurację rejestratora i weryfikatora Keylime, stosowanego do potwierdzania autentyczności i ciągłego śledzenia integralności zewnętrznego systemu. Na przykład, można upewnić się o autentyczności urządzeń Edge i IoT, znajdujących się w niekontrolowanej lokalizacji, gdzie możliwy jest nieautoryzowany dostęp. Wykorzystano nową wersję keylime 7.3.
- Dodano systemową rolę do zarządzania jednostkami systemd i ich instalacji. Dodano systemową rolę do instalacji, konfiguracji, zarządzania i uruchamiania baz danych PostgreSQL. Do systemowej roli firewall dodano wsparcie dla definiowania, zmieniania i usuwania ipset-ów.
- W SELinux dodano opcję virt_qemu_ga_run_unconfined, pozwalającą procesowi qemu-ga (QEMU Guest Agent) wykonywać w niechronionym trybie (domena unconfined_t) polecenia takie jak mount, pierwotnie ograniczone przez SELinux. Dodano polityki SELinux w celu ochrony usług qat, systemd-pstore, boothd, fdo-manufacturing-server, fdo-rendezvous-server, fdo-client-linuxapp oraz fdo-owner-onboarding-server.
- Dodano wsparcie dla narzędzi wirtualizacji 4. generacji procesorów Intel Xeon Scalable (Sapphire Rapids), co pozwala na użycie w maszynach wirtualnych modelu CPU SapphireRapids oraz wykorzystanie dostępnych w tych procesorach zaawansowanych możliwości wirtualizacji.
- W Podman dodano wsparcie dla kontenerów skompresowanych przy użyciu algorytmu zstd. Dodano możliwość wykorzystania Quadlets do automatycznej generacji usług systemd z opisów kontenerów. Dodano powłokę podmansh, której można użyć zamiast /usr/bin/bash do uruchomienia sesji użytkownika w kontenerze. Zaktualizowano wersje Podman, Buildah, Skopeo, crun oraz runc.
- Dodano nowe parametry wiersza poleceń jądra:
- amd_pstate do zarządzania trybami oszczędzania energii procesorów AMD;
- arm64.nosve do wyłączenia SVE (Scalable Vector Extension);
- arm64.nosme do wyłączenia SME (Scalable Matrix Extension);
- gather_data_sampling do zarządzania trybem ochrony przed atakami GDS (Gather Data Sampling lub Downfall);
- nospectre_bhb do wyłączenia ochrony Spectre-BHB;
- trace_clock do ustawienia timera zdarzeń śledzenia.
- Rozszerzone możliwości dla klastrów i systemów odpornych na awarie: Do agenta LVM-activate dodano wsparcie dla przełączania (failover) grup partycji, w których brakuje fizycznych partycji. Do agentów zasobów klastra IPaddr2 i IPsrcaddr dodano wsparcie dla routingu polityk. Do agenta ocf:heartbeat:Filesystem dodano wsparcie dla systemu plików EFS (Amazon Elastic File System).
- Dodano nowe obrazy kontenerów z ustawieniami FDO (FIDO Device Onboard): fdo-manufacturing-server, fdo-owner-onboarding-server, fdo-rendezvous-server i fdo-serviceinfo-api-server. Dodano nowy obraz kontenera rhel9/squid z serwerem proxy Squid. W edycji „RHEL for Edge” wprowadzono wsparcie dla nowych typów obrazów „minimal-raw”, „edge-vsphere” (*.vmdk) i „edge-ami” (*.ami).
- Do obrazów AMI dla chmurowych środowisk AWS EC2 dodano wsparcie dla uruchamiania w trybie UEFI.
- Do pracy z kartami inteligentnymi i tokenami USB CCID (Chip Card Interface Device) oraz ICCD (Integrated Circuit Card Device) wykorzystano nową wersję sterownika pcsc-lite-ccid 1.5.2, w której rozwiązano problemy z kontrolerem Alcor Micro AU9560 i dodano wsparcie dla nowych czytników kart inteligentnych.
- Ogłoszono pakiety initial-setup oraz pmdk (Persistent Memory Development Kit) jako przestarzałe.
- Dodano eksperymentalne wsparcie dla protokołów PRP (Parallel Redundancy Protocol) oraz HSR (High-availability Seamless Redundancy).
- Dodano eksperymentalną możliwość sprzętowego przyspieszania IPsec poprzez delegowanie operacji kapsułkowania pakietów na kartę sieciową.
- Dodano eksperymentalne wsparcie dla SRv6 (Segment Routing over IPv6).
- Eksperymentalna implementacja kTLS (TLS na poziomie jądra) została zsynchronizowana z wersją 6.3. Dodano wsparcie dla użycia kTLS do przyspieszania GnuTLS.
- Dodano eksperymentalne wsparcie dla interfejsu asynchronicznego wejścia/wyjścia io_uring, wyróżniającego się wsparciem dla polowania (polling) wejścia/wyjścia oraz możliwością pracy zarówno z buforowaniem, jak i bez buforowania. W API io_uring programiści jądra próbowali wyeliminować wady starego interfejsu aio. Pod względem wydajności io_uring jest bardzo bliski SPDK i znacznie przewyższa libaio podczas pracy z aktywowanym pollingiem.
- W IdM (Zarządzanie Tożsamością) dodano eksperymentalne wsparcie dla protokołu zarządzania certyfikatami ACME (Automated Certificate Management Environment), stosowanego w centrum certyfikacji Let’s Encrypt.
- W Podman dodano eksperymentalną możliwość korzystania z backendu przechowywania opartego na SQLite (zamiast BoltDB).
- Kontynuowane jest oferowanie eksperymentalnego wsparcia (Technology Preview):
- VPN WireGuard,
- Intel SGX (Software Guard Extensions),
- Intel IDXD (Data Streaming Accelerator),
- DAX (Direct Access) dla ext4 i XFS,
- AMD SEV i SEV-ES w hipernadzorze KVM,
- usługi systemd-resolved,
- mechanizmu Sigstore do weryfikacji kontenerów na podstawie podpisów cyfrowych,
- pakiet z edytorem graficznym GIMP 2.99.8,
- ustawienia MPTCP (Multipath TCP) przez NetworkManager,
- DNSSEC w IdM,
- virtio-mem,
- hypervizora KVM dla ARM64,
- instalacje na NVMe z użyciem Fibre Channel,
- Socket API dla TuneD,
- Soft-iWARP (Internet Wide-area RDMA Protocol),
- GNOME dla ARM64 i IBM Z.
Źródło: opennet.ru
