Zaprezentowano wydanie dystrybucji Fedora Linux 40. Przygotowano produkty Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition oraz warianty Live w formie spinów z środowiskami graficznymi KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie i Sway. Warianty zostały stworzone dla architektur x86_64, Power64 i ARM64 (AArch64). Publikacja wydań Fedora Silverblue jest opóźniona.
Najważniejsze zmiany w Fedora Linux 40:
- Środowisko graficzne GNOME w Fedora Workstation zostało zaktualizowane do wersji 46, w której wprowadzono funkcję globalnego wyszukiwania, zwiększono wydajność menedżera plików i emulatorów terminala, dodano eksperymentalne wsparcie dla mechanizmu VRR (Variable Refresh Rate), poprawiono jakość wyjścia przy złożonym skalowaniu oraz rozszerzono możliwości połączeń z zewnętrznymi serwisami, zaktualizowano konfigurator i poprawiono system powiadomień. W GTK wykorzystano nowy silnik renderujący oparty na API Vulkan.
- Wydanie z środowiskiem graficznym KDE zostało zaktualizowane do wersji KDE 6, korzystającej z protokołu Wayland. Wsparcie dla sesji opartych na protokole X11 w podstawowej wersji zostało wygaszone (można je przywrócić, instalując z repozytorium pakiet plasma-workspace-x11). Do uruchamiania aplikacji X11 w sesji opartej na Wayland wykorzystano serwer DDX XWayland. Jako powód zakończenia wsparcia dla sesji z X11 podano przeniesienie serwera X.Org do kategorii przestarzałych w RHEL 9 i decyzję o całkowitym usunięciu go w przyszłej istotnej wersji RHEL 10. Wśród czynników, które przyczyniły się do pozostawienia tylko wsparcia dla Wayland, wymienia się dokonane w Fedora 36 zastąpienie sterowników fbdev sterownikiem simpledrm, który prawidłowo współpracuje z Wayland, a także wprowadzenie wsparcia dla Wayland w sterownikach proprietarnych NVIDIA.
- Atomowo aktualizowane dystrybucje użytkowe, rozwijane przez projekt Fedora, połączono w jedną rodzinę pod marką Atomic Desktops, ale długo istniejące atomowe wersje zachowały starą nazwę. W rezultacie, Fedora Silverblue na bazie GNOME i Fedora Kinoite na bazie KDE, a także Fedora CoreOS i Fedora IoT, zachowały swoje wcześniejsze nazwy, ale nowe wersje Fedora Sericea i Fedora Onyx są teraz dystrybuowane pod nazwami Fedora Sway Atomic i Fedora Budgie Atomic.
- Zaktualizowano wersje pakietów, wśród nich LLVM 18, GCC 14, binutils 2.41, glibc 2.39, gdb 14.1, PHP 8.3, Ruby 3.3, Go 1.22, Java 21, AMD ROCm 6, Boost 1.83, 389 Directory Server 3.0.0, Podman 5, PostgreSQL 16, TBB (Thread Building Blocks) 2021.8, SQLAlchemy 2, Kubernetes 1.29.
- W konfiguratorze NetworkManager domyślnie włączony jest mechanizm wykrywania konfliktów adresów IPv4 w sieci lokalnej (RFC 5227), polegający na wysyłaniu pakietu ARP weryfikacyjnego przed przypisaniem adresu do interfejsu sieciowego (jeśli otrzymano odpowiedź, oznacza to, że adres jest zajęty i nie będzie przypisany). Dla połączeń bezprzewodowych zapewniono przypisanie oddzielnego stałego adresu MAC (tryb stable-ssid w NetworkManager).
- Narzędzia do kompilacji Mock (mock-core-configs), Koji i Copr przeszły na wykorzystanie menedżera pakietów DNF 5 do instalacji zależności kompilacyjnych w środowisku chroot, stosowanym przy kompilacji pakietów. Przejście samego dystrybucji na DNF 5 planowane jest w kolejnym wydaniu.
- W menedżerze pakietów DNF domyślnie wyłączone jest pobieranie metadanych z listami plików wchodzących w skład pakietów. Takie dane rzadko są używane, lecz mają duży rozmiar i spowalniają pracę.
- Usunięto pakiet z biblioteką OpenSSL 1.1, w związku z zakończeniem wsparcia dla tej gałęzi. Zależności związane z OpenSSL 1.1 zostały przełączone na OpenSSL 3.0. Usunięto pakiet python3.7.
- Biblioteka Zlib została zastąpiona forkiem Zlib-ng, kompatybilnym z zlib na poziomie API, ale oferującym dodatkowe optymalizacje w celu poprawy wydajności.
- Zakończono generowanie delta-aktualizacji pakietów RPM, które pozwalają na pobieranie tylko zmienionych danych w stosunku do już zainstalowanej wersji pakietu podczas aktualizacji. Wyłączono wsparcie dla deltarpm w DNF i DNF5.
- Dodano Passim, buforujący serwer do dystrybucji często żądanych plików w sieci lokalnej bez bezpośredniego dostępu do głównych serwerów i bez użycia globalnych CDN.
- Moduł pam_userdb został przetłumaczony z użycia BerkeleyDB na GDBM z powodu zakończenia wsparcia gałęzi BerkeleyDB 5.x i przeniesienia gałęzi BerkeleyDB 6.x na niedopuszczalną licencję. Bogofilter został przetłumaczony na użycie SQLite zamiast BerkeleyDB (libdb).
- Do tworzenia obrazów Live Fedora Workstation użyto narzędzia Image Builder, które wspiera powtarzalne kompilacje i oferuje użytkownikom prostszy proces dostosowywania obrazów.
- Do budowy minimalnych obrazów dla architektury ARM wykorzystano narzędzie osbuild.
- Do tworzenia obrazów Fedora Cloud Edition zamiast ImageFactory wykorzystano narzędzie Kiwi.
- Przeprowadzono restrukturyzację pakietów dla Kubernetes.
- Fedora IoT, edycja dla urządzeń IoT, została przetłumaczona na użycie kontenerów rozruchowych utworzonych przy pomocy narzędzia OSTree i technologii boot.
- Narzędzie wget zostało zastąpione przez wget2, a narzędzie iotop przez iotop-c.
- W edycjach Fedora Silverblue i Kinoite wprowadzono program bootupd, który aktualizuje bootloader.
- Ogłoszono o przestarzałości biblioteki libuser, która nie jest już wspierana i nie jest wykorzystywana w innych pakietach Fedory (do wsparcia LDAP w dystrybucji od dawna używany jest SSSD). Usunięto pakiet passwd z realizacją narzędzia passwd opartego na libuser, zamiast którego wykorzystano analogiczne narzędzie z pakietu shadow-utils.
- Przeprowadzono prace przygotowawcze do włączenia nowszej wersji standardu języka C do GCC domyślnie, co oznacza zakończenie domyślnego wsparcia dla niektórych przestarzałych funkcji języka, takich jak niejawne definiowanie funkcji i niejawne przypisanie typu int.
- Wdrożono drugi etap przejścia na zmodernizowany proces uruchamiania zaproponowany przez Lennarta Poetteringa. Różnice w stosunku do klasycznego uruchamiania sprowadzają się do użycia zamiast obrazu initrd, utworzonego lokalnie przy instalacji pakietu z jądrem, zunifikowanego obrazu jądra UKI (Unified Kernel Image), generowanego w infrastrukturze dystrybucji i podpisanego cyfrowo przez dystrybucję. Obraz UKI łączy w jednym pliku obsługę uruchamiania jądra z UEFI (UEFI boot stub), obraz jądra Linux oraz ładowane do pamięci środowisko systemowe initrd. Podczas wywoływania obrazu UKI z UEFI istnieje możliwość weryfikacji integralności i autentyczności za pomocą cyfrowego podpisu nie tylko jądra, ale także zawartości initrd, weryfikacja autentyczności której jest ważna, ponieważ w tym środowisku następuje wydobycie kluczy do odszyfrowania systemu plików root.
W drugim etapie dodano możliwość bezpośredniego uruchamiania UKI z modułu UEFI shim.efi bez użycia osobnego bootloadera (grub, sd-boot), zrealizowano wsparcie dla użycia UKI na systemach z architekturą Aarch64 oraz przygotowano wariant obrazu UKI dla środowisk chmurowych i zabezpieczonych. maszyn wirtualnych. Na pierwszym etapie w Fedora 38 dodano wsparcie dla UKI w bootloaderze, wdrożono narzędzia do instalacji i aktualizacji UKI oraz stworzono eksperymentalny obraz UKI do uruchamiania maszyn wirtualnych z ograniczonym zestawem komponentów i sterowników.
- W repozytorium dodano gotowy pakiet z frameworkiem do uczenia maszynowego PyTorch, dostępny do zainstalowania za pomocą polecenia „dnf install pytorch”. Na obecnym etapie pakiet zawiera jedynie komponenty do obliczeń przy użyciu CPU, ale w przyszłych wydaniach planowane jest dodanie wsparcia dla GPU i wyspecjalizowanych akceleratorów NPU.
Dodatkowo warto wspomnieć o wprowadzeniu do użytku w Fedora 40 repozytoriów „free” i „nonfree” projektu RPM Fusion, w których dostępne są pakiety dodatkowych aplikacji multimedialnych (MPlayer, VLC, Xine), kodeków wideo/audio, wsparcia dla DVD, własnościowych sterowników AMD i NVIDIA, gier oraz emulatorów.
Źródło: opennet.ru
