W Fedora 41 zatwierdzono przejście na menedżer pakietów DNF5

Komitet FESCo (Fedora Engineering Steering Committee), odpowiedzialny za techniczną część rozwoju dystrybucji Fedora Linux, zatwierdził domyślne użycie menedżera pakietów DNF5 w jesiennej wersji Fedora 41. Pakiety dnf, libdnf i dnf-cutomatic zostaną zastąpione w Fedora 41 narzędziem DNF5 oraz nową biblioteką libdnf5, a dowiązanie /usr/bin/dnf zacznie wskazywać na plik wykonywalny dnf5.

Pomimo że pełny parytet funkcjonalności ze starym narzędziem jeszcze nie został osiągnięty, deweloperzy uważają, że dystrybucja jest gotowa do migracji, a brakujące funkcje można zrealizować później. Na przykład, obecnie brak jest funkcji związanej z zarządzaniem historią transakcji, leżącej u podstaw komendy „dnf history”. Prace nad integracją wsparcia dla procesu w tle dnf5daemon w menedżerze aplikacji GNOME Software również nie zostały jeszcze zakończone. Wymaga to dodatkowego testowania mechanizmu aktualizacji całego systemu do następnej wersji (komenda system-upgrade).

W swoim czasie DNF zastąpił w dystrybucji menedżer pakietów Yum, który był całkowicie napisany w języku Python. W DNF wymagające wydajności niskopoziomowe funkcje zostały przepisane i przeniesione do osobnych bibliotek w języku C, takich jak hawkey, librepo, libsolv i libcomps, ale szkielet i wysokopoziomowe komponenty pozostały w języku Python. Projekt DNF5 ma na celu unifikację istniejących niskopoziomowych bibliotek, przepisanie pozostałych komponentów zarządzania pakietami na język C++ oraz wydzielenie podstawowej funkcjonalności do osobnej biblioteki libdnf5, tworząc wokół tej biblioteki opakowanie dla zachowania interfejsu API w Pythonie.

Użycie języka C++ zamiast Pythona pozwoliło na redukcję liczby zależności, zmniejszenie rozmiaru narzędzi oraz zwiększenie wydajności. Wyższa wydajność osiągana jest nie tylko dzięki kompilacji do kodu maszynowego, ale także poprzez ulepszenie realizacji tabeli transakcji, optymalizację ładowania z repozytoriów oraz restrukturyzację bazy danych (oddzielono bazy z stanem systemu i historią operacji). Narzędzie DNF5 jest wolne od powiązania z PackageKit, zamiast tego wdrożono nowy proces w tle DNF Daemon, który zastępuje funkcjonalność PackageKit i zapewnia interfejs do zarządzania pakietami i aktualizacjami w środowiskach graficznych.

Przebudowa umożliwiła również wprowadzenie pewnych usprawnień, które zwiększają komfort pracy z menedżerem pakietów. Na przykład, w nowym DNF wprowadzono bardziej przejrzystą informację o postępie operacji; dodano wsparcie dla lokalnych pakietów RPM do transakcji; umożliwiono wyświetlanie w raportach o przeprowadzonych transakcjach informacji generowanych przez skrypty zawarte w pakietach (scriplets); zaproponowano bardziej zaawansowany system autouzupełniania dla bash.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster