Została wydana wersja dystrybucji Fedora Linux 38. Do pobrania przygotowano produkty Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition oraz wersje Live, dostarczane w formie spinów z środowiskami desktopowymi KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie i Sway. Wersje zostały utworzone dla architektur x86_64, Power64 i ARM64 (AArch64). Publikacja wersji Fedora Silverblue jest opóźniona.
Najważniejsze zmiany w Fedora Linux 38:
- Zrealizowano pierwszą fazę przejścia na zmodernizowany proces rozruchu, zaproponowany przez Lennarta Poetteringa. Różnice względem klasycznego rozruchu polegają na użyciu zamiast obrazu initrd, formowanego na lokalnym systemie przy instalacji pakietu z jądrem, zunifikowanego obrazu jądra UKI (Unified Kernel Image), generowanego w infrastrukturze dystrybucji i podpisanego cyfrowo przez dystrybucję. UKI łączy w jednym pliku obsługiwacz do rozruchu jądra z UEFI (UEFI boot stub), obraz jądra Linux oraz ładowane do pamięci środowisko systemowe initrd. Przy wywołaniu obrazu UKI z UEFI istnieje możliwość sprawdzenia integralności i autentyczności zarówno jądra, jak i zawartości initrd, której weryfikacja jest istotna, ponieważ w tym środowisku wydobywane są klucze do deszyfrowania głównego systemu plików. W pierwszej fazie wsparcie dla UKI dodano do bootloadera, stworzono narzędzia do instalacji i aktualizacji UKI, a także utworzono eksperymentalny obraz UKI, skoncentrowany na rozruchu. maszyn wirtualnych z ograniczonym zestawem komponentów i sterowników.
- W menedżerze pakietów RPM do analizy kluczy i podpisów cyfrowych użyto pakietu Sequoia, który oferuje implementację OpenPGP w języku Rust. Wcześniej w RPM użyto własnego kodu do analizy OpenPGP, mającego nierozwiązane problemy i ograniczenia. Do bezpośrednich zależności RPM dodano pakiet rpm-sequoia, w którym wsparcie dla algorytmów kryptograficznych opiera się na bibliotece Nettle, napisanej w języku C (w planach zapewnienie możliwości wykorzystania OpenSSL).
- Zrealizowano pierwszy etap wdrożenia nowego menedżera pakietów Microdnf, który zastępuje obecnie używany DNF. Narzędzie Microdnf zostało znacząco zaktualizowane i teraz obsługuje wszystkie podstawowe funkcje DNF, przy czym wyróżnia się wysoką wydajnością i kompaktowością. Kluczową różnicą między Microdnf a DNF jest wykorzystanie języka C do jego opracowania, zamiast Pythona, co pozwala na uniknięcie licznych zależności. Inne zalety Microdnf to: bardziej czytelna wskazówka postępu operacji; ulepszona realizacja tabeli transakcji; możliwość wyświetlania w raportach o wykonanych transakcjach informacji generowanych przez wbudowane w pakiety skrypty (scriplets); wsparcie dla lokalnych pakietów RPM w transakcjach; bardziej zaawansowany system autouzupełniania w bash; wsparcie dla wykonania polecenia builddep bez instalacji Pythona w systemie.
- Pulpit w Fedora Workstation został zaktualizowany do wydania GNOME 44, w którym kontynuowany jest proces wsparcia aplikacji dla GTK 4 oraz biblioteki libadwaita (na GTK4 między innymi przetłumacono użytkową powłokę GNOME Shell oraz menedżera kompozycji Mutter). Do dialogu wyboru plików dodano tryb wyświetlania zawartości w formie siatki ikon. Wprowadzono liczne zmiany w konfiguratorze. W menu szybkiej zmiany ustawień dodano sekcję do zarządzania Bluetooth.
- Środowisko użytkownika Xfce zaktualizowano do wersji 4.18.
- Rozpoczęło się tworzenie kompilacji z użytkowym środowiskiem LXQt dla architektury AArch64.
- W menedżerze wyświetlania SDDM domyślnie używany jest interfejs logowania oparty na Wayland. Zmiana ta umożliwia przejście na Wayland w menedżerze logowania w kompilacjach z pulpitem KDE.
- W kompilacjach z pulpitem KDE usunięto kreator ustawień przy pierwszym uruchomieniu (Initial Setup), ponieważ większość jego funkcji nie jest wykorzystywana w KDE Spin i Kinoite, a początkowa konfiguracja parametrów odbywa się na etapie instalacji przez instalator Anaconda.
- Zapewniono pełny dostęp do katalogu aplikacji Flathub (wyłączono filtr, który usuwał nieoficjalne pakiety, oprogramowania własnościowe oraz aplikacje z ograniczeniami licencyjnymi). W przypadku dostępności pakietów flatpak i rpm z tymi samymi programami, podczas korzystania z GNOME Software najpierw instalowane będą pakiety Flatpak projektu Fedora, następnie pakiety RPM, a na końcu pakiety z Flathub.
- Rozpoczęto proces tworzenia wersji dla urządzeń mobilnych, które są dostarczane z powłoką Phosh, bazującą na technologiach GNOME oraz bibliotece GTK, wykorzystującą kompozytowy Phoc działający na Wayland, a także własną ekranową klawiaturę squeekboard. Środowisko początkowo rozwijane było przez firmę Purism jako alternatywa dla GNOME Shell na smartfonie Librem 5, ale później stało się jednym z nieoficjalnych projektów GNOME i obecnie jest także używane w postmarketOS, Mobian i niektórych wersjach oprogramowania dla urządzeń Pine64. serwer Dodano wydanie Fedora Budgie Spin z graficzną powłoką Budgie, która oparta jest na technologiach GNOME, menedżerze okien Budgie Window Manager (BWM) i własnej implementacji GNOME Shell. Podstawą Budgie jest panel, zorganizowany w sposób zbliżony do klasycznych paneli biurkowych. Wszystkie elementy panelu są appletami, co pozwala na elastyczne dostosowywanie składu, zmianę rozmieszczenia i zastępowanie implementacji podstawowych elementów panelu według własnych upodobań.
- Dodano wydanie Fedora Sway Spin z użytkowym środowiskiem Sway, zbudowanym z użyciem protokołu Wayland i w pełni kompatybilnym z mozaikowym menedżerem okien i3 oraz panelem i3bar. Aby stworzyć funkcjonalne środowisko użytkownika, oferowane są komponenty towarzyszące: swayidle (proces w tle implementujący protokół KDE idle), swaylock (ekranowy stróż), mako (menedżer powiadomień), grim (zrzuty ekranu), slurp (wybór obszaru na ekranie), wf-recorder (nagrywanie wideo), waybar (panel aplikacji), virtboard (klawiatura ekranowa), wl-clipboard (praca z schowkiem), wallutils (zarządzanie tapetami pulpitu).
- W instalatorze Anaconda, w celu wsparcia dostarczanych oprogramowaniem RAID (BIOS RAID, Firmware RAID, Fake RAID) вместо dmraid wykorzystano narzędzie mdadm.
- W instalatorze Anaconda, w celu wsparcia dostarczanych oprogramowaniem RAID (BIOS RAID, Firmware RAID, Fake RAID) zamiast dmraid wykorzystano narzędzie mdadm.
- Dodano uproszczone narzędzie do instalacji obrazów z IoT-edycją Fedory na urządzenia Internetu Rzeczy. Narzędzie instalacyjne opiera się na coreos-installer i wykorzystuje bezpośrednie kopiowanie gotowego obrazu OStree bez interakcji z użytkownikiem.
- Zmodernizowane obrazy Live, w których pojawiło się wsparcie dla automatycznego włączania warstwy do trwałego przechowywania danych przy uruchamianiu z nośnika USB.
- W serwerze X i Xwayland z powodu potencjalnych problemów z bezpieczeństwem domyślnie zabroniono połączeń klientów z systemów o innym porządku bajtów.
- W kompilatorze domyślnie włączone są flagi „-fno-omit-frame-pointer” oraz „-mno-omit-leaf-frame-pointer”, które rozszerzają możliwości profilowania i debugowania oraz umożliwiają diagnozowanie problemów z wydajnością bez konieczności ponownej kompilacji pakietów.
- Zrealizowano budowę pakietów z włączeniem trybu ochrony „_FORTIFY_SOURCE=3”, który wykrywa potencjalne przepełnienia bufora przy wykonywaniu funkcji ciągowych zdefiniowanych w pliku nagłówkowym string.h. Różnica w stosunku do trybu „_FORTIFY_SOURCE=2” sprowadza się do dodatkowych sprawdzeń. Teoretycznie dodatkowe kontrole mogą prowadzić do spadku wydajności, ale w praktyce testy SPEC2000 i SPEC2017 nie wykazały różnic, a w trakcie testów nie zgłoszono żadnych skarg od użytkowników dotyczących spadku wydajności.
- Czas na wymuszone zakończenie jednostek systemd podczas zamykania został skrócony z 2 minut do 45 sekund.
- Przeprowadzono restrukturyzację pakietów z platformą Node.js. Umożliwiono instalowanie w systemie jednocześnie różnych gałęzi Node.js (na przykład, teraz można zainstalować jednocześnie pakiety nodejs-16, nodejs-18 i nodejs-20).
- Zaktualizowane wersje pakietów, w tym Ruby 3.2, gcc 13, LLVM 16, Golang 1.20, PHP 8.2, binutils 2.39, glibc 2.37, gdb 12.1, GNU Make 4.4, cups-filters 2.0b, TeXLive 2022, ImageMagick 7, PostgreSQL 15.
Jednocześnie dla Fedory 38 uruchomiono repozytoria „free” i „nonfree” projektu RPM Fusion, w których dostępne są pakiety z dodatkowymi aplikacjami multimedialnymi (MPlayer, VLC, Xine), kodekami wideo/audio, wsparciem dla DVD, własnościowymi sterownikami AMD i NVIDIA, programami do gier oraz emulatorami.
Źródło: opennet.ru
