Czy DNF zastąpi YUM w Red Hat Enterprise Linux 8?

YUM to narzędzie, do którego przyzwyczajony jest każdy administrator systemów z rodziny Red Hat. Od wydania Fedory 18 pojawiło się równolegle kompatybilne narzędzie do zarządzania oprogramowaniem: czyli instalacji, usuwania i aktualizacji pakietów. Nosi ono nazwę DNF.

Wraz z pojawianiem się następnych wersji Fedory nowe narzędzie zaczyna powoli zastępować starsze. Czy zatem w RHEL 8 DNF zastąpi YUM?

DNF to skrót od Dandified YUM czyli „wymuskany” YUM. Jak dotąd jest ono kompatybilne z YUM, czyli można korzystać z nich naprzemiennie. DNF jest forkiem YUM 3.4, został oparty o biblioteki hawkey/libsolv.

Biblioteka libsolv pozwala na rozwiązywanie zależności między pakietami. Co ciekawe jest ona utrzymywana przez SUSE. Jej głównym zaletami są szybkie i niezawodne działanie. W oparciu o libsolv powstała biblioteka hawkey, która pozwala klientom na zadawanie zapytań lub rozwiązywanie zależności między pakietami z bazy RPMDB oraz z repozytoriów YUM.

Twórcy DNF pomyśleli o łatwej przesiadce z YUM do DNF, więc DNF obsługuje te same opcje i parametry.

Czyli poniższe przykładowe polecenia są równoważne:

# dnf install postfix
# yum install postfix

Wnikliwy użytkownik może zadać pytanie – dlaczego zatem zmieniamy YUM na DNF?

Powodów jest wiele, wśród nich najważniejsze to:

  • słabo udokumentowane API YUM – spowalnia prace deweloperów
  • chęć przejścia z Python 2 do Python 3 – niemożliwe dla YUM.
  • gorszy algorytm rozwiązywania zależności w YUM – teraz DNF korzysta z nowoczesnego algorytmu SAT (state-of-the-art satisfiability) używanego przez Zipper w SUSE.

Można zatem zaryzykować stwierdzenie, że DNF będzie domyślnym managerem pakietów w RHEL8. A ten przecież z dnia na dzień jest coraz bliżej.