Fedora planuje zastąpić menedżera pakietów DNF Microdnf

Twórcy Fedory Linux zamierzają przenieść dystrybucję do nowego menedżera pakietów Microdnf zamiast obecnie używanego DNF. Pierwszym krokiem w kierunku migracji będzie duża aktualizacja Microdnf zaplanowana na wydanie Fedory Linux 38, która będzie zbliżona funkcjonalnością do DNF, a w niektórych obszarach nawet ją przewyższa. Należy zauważyć, że nowa wersja Microdnf będzie obsługiwać wszystkie podstawowe możliwości DNF, ale jednocześnie zachowa wysoką wydajność i zwartość.

Kluczową różnicą między Microdnf i DNF jest użycie do programowania języka C zamiast Pythona, co pozwala pozbyć się dużej liczby zależności. Microdnf został pierwotnie opracowany jako uproszczona wersja DNF do użytku w kontenerach Docker, która nie wymaga instalacji Pythona. Teraz programiści Fedory planują doprowadzić Microdnf do poziomu DNF i ostatecznie całkowicie zastąpić DNF Microdnf.

Podstawą Microdnf jest biblioteka libdnf5, opracowana w ramach projektu DNF 5. Główną ideą DNF 5 jest przepisanie podstawowych operacji zarządzania pakietami w C++ i przeniesienie ich do osobnej biblioteki z utworzeniem wokół tego opakowania biblioteka do zapisania interfejsu API języka Python.

Nowa wersja Microdnf będzie również korzystać z działającego w tle procesu DNF Daemon, zastępując funkcjonalność PackageKit i zapewniając interfejs do zarządzania pakietami i aktualizacjami w środowiskach graficznych. W przeciwieństwie do PackageKit, DNF Daemon obsługuje tylko format RPM.

Microdnf, libdnf5 i DNF Daemon na pierwszym etapie wdrożenia mają być dostarczane równolegle z tradycyjnym zestawem narzędzi DNF. Po zakończeniu projektu nowy pakiet zastąpi pakiety takie jak dnf, python3-dnf, python3-hawkey, libdnf, dnfdragora i python3-dnfdaemon.

Wśród obszarów, w których Microdnf jest lepszy od DNF, znajdują się: bardziej wizualne wskazanie postępu operacji; ulepszona implementacja tabeli transakcji; możliwość wyświetlania w raportach o zrealizowanych transakcjach informacji generowanych przez skryptlety wbudowane w pakiety; obsługa wykorzystania lokalnych pakietów RPM do transakcji; bardziej zaawansowany system uzupełniania danych wejściowych dla bash; obsługa uruchamiania polecenia builddep bez instalowania Pythona w systemie.

Do wad przejścia dystrybucji na Microdnf należy zaliczyć zmianę w strukturze wewnętrznych baz danych i oddzielenie przetwarzania baz danych od DNF, co nie pozwoli Microdnfowi widzieć transakcji z pakietami wykonywanymi w DNF i odwrotnie. Ponadto Microdnf nie planuje utrzymania 100% kompatybilności w DNF na poziomie poleceń i opcji wiersza poleceń. Pojawią się także pewne różnice w zachowaniu. Na przykład usunięcie pakietu nie usunie powiązanych z nim zależności, które nie są używane przez inne pakiety.

Źródło: opennet.ru

Dodaj komentarz