Wyszukiwanie w witrynie

DNF — narzędzie nowej generacji do zarządzania pakietami dla dystrybucji opartych na RPM


Niedawna wiadomość zwróciła uwagę wielu użytkowników Linuksa, profesjonalistów i uczniów, że „DNF” (oficjalnie oznacza nic) zastąpi narzędzie do zarządzania pakietami „YUM” w dystrybucjach mianowicie Fedora, CentOS, RedHat itp., które korzystają z Menedżera pakietów RPM.

Wiadomość była dość zaskakująca i mniej więcej do tożsamości dystrybucji Linuksa przypisany jest menedżer pakujący, który jest odpowiedzialny za instalowanie, aktualizowanie i usuwanie pakietów.

YUM (skrót od Yellowdog Updater, Modified) to darmowe narzędzie typu open source oparte na wierszu poleceń, wydane na licencji GNU General Public License i napisane głównie w języku programowania Python. YUM został opracowany do zarządzania i aktualizacji RedHat Linux na Duke University, później zyskał szerokie uznanie i został menedżerem pakietów RedHat Enterprise Linux, Fedora, CentOS i innych dystrybucji Linuksa opartych na RPM. Jest on często nazywany „Twoim menedżerem pakietów”, nieoficjalnie często przez profesjonalistów zajmujących się Linuksem.

Przeczytaj także

  1. YUM (Yellowdog Updater, zmodyfikowany) – 20 poleceń do zarządzania pakietami
  2. RPM (Red Hat Package Manager) – 20 praktycznych przykładów poleceń RPM

Pomysł zastąpienia mniam DNF

Ale¨ Kozumplík, twórca projektu DNF, jest pracownikiem RedHat. On mówi:

„Po raz pierwszy w roku 2009, pracując nad «Anacondą» – instalatorem systemu, miał wgląd w działanie Linuksa. Chciał pracować nad zupełnie innym projektem, który pozwoliłby mu poznać narzędzie do pakowania Fedory.”

Ale¨ Kozumplík powiedział – był zmęczony wyjaśnianiem, że DNF oznacza nic, jest to odpowiedź na nazwę menedżera pakietów, więc tak jest i nic więcej. Trzeba go nazwać czymś, co nie koliduje z YUM i dlatego nazwano go DNF.

Niedociągnięcia Yum, które doprowadziły do powstania DNF:

  1. Rozwiązywanie zależności YUM to koszmar i zostało rozwiązane w DNF z biblioteką SUSE „libsolv” i opakowaniem Pythona wraz z C Hawkey.
  2. YUM nie ma udokumentowanego interfejsu API.
  3. Tworzenie nowych funkcji jest trudne.
  4. Brak obsługi rozszerzeń innych niż Python.
  5. Mniejsza redukcja pamięci i mniej automatycznej synchronizacji metadanych – proces czasochłonny.

Ale¨ Kozumplík twierdzi, że nie ma innego wyjścia, jak rozwidlić YUM i opracować DNF. Opiekun pakietu YUM nie był gotowy na wdrożenie tych zmian. YUM ma około 59000 LOC, podczas gdy DNF ma 29000 LOC (Linie kodu).

Rozwój DNF

DNF po raz pierwszy pokazał swoją obecność w Fedorze 18. Fedora 20 była pierwszą dystrybucją Linuksa, która zachęca użytkowników do korzystania z funkcjonalności DNF zamiast YUM.

Wyzwania techniczne, przed którymi stoi DNF, to wdrożenie wszystkich funkcji YUM. Dla zwykłego użytkownika DNF umożliwia pobieranie pakietów, instalowanie, aktualizowanie, obniżanie wersji i usuwanie. Jednak nadal istnieje niewielka lub żadna obsługa takich funkcji, jak pomijanie uszkodzonych pakietów podczas instalacji, debugowanie, szczegółowe dane wyjściowe, włączanie repozytorium, wykluczanie pakietów podczas instalacji itp.

DNF i porównanie poprzednika:

  1. Brak efektu przełącznika –pomiń.
  2. Aktualizacja polecenia=aktualizacja
  3. Polecenie resolvedep jest niedostępne
  4. Opcja skip_if_unavailable jest domyślnie WŁĄCZONA
  5. Proces rozwiązywania zależności nie jest widoczny w wierszu poleceń.
  6. Równoległe pobieranie w przyszłej wersji.
  7. Cofnij historię
  8. Delta obrotów
  9. Zakończenie Basha
  10. Automatyczne usuwanie itp.

Integracja DNF z Fedorą, a później ze środowiskiem komercyjnym, jest od czasu do czasu kwestionowana przez RHEL. Najnowsza wersja to DNF 0.6.0, która została wydana 12 sierpnia 2014 r.

Testowanie poleceń DNF

Zainstaluj dnf na Fedorze lub nowszej na RHEL/CentOS za pomocą polecenia yum.

yum install dnf

Streszczenie zastosowań.

dnf [options] <command> [<argument>]

Zainstaluj pakiet.

dnf install <name_of_package>

Usuń pakiet.

dnf remove <name_of_package>

Aktualizuj i ulepszaj system.

dnf update
dnf upgrade

Uwaga: jak powiedziano powyżej, update=upgrade. Więc. czy ten pakiet będzie implementował coś w rodzaju wydania stopniowego? – Pytanie na przyszłość.

Domyślna lokalizacja pliku konfiguracyjnego dnf: /etc/dnf/dnf.conf.

Przyszłość projektu

Celem tego projektu jest zapewnienie większej przejrzystości i pełne udokumentowanie projektu. Projekt jest bardzo młody i do jego zintegrowania wymagane jest wsparcie społeczności. Wiele funkcji nadal wymaga przeniesienia, co zajmie trochę czasu. DNF zostanie oficjalnie wydany wraz z Fedorą 22.

To wszystko na teraz. Niedługo wrócę tu ponownie z kolejnym ciekawym artykułem. Do tego czasu bądźcie na bieżąco i bądźcie w kontakcie. Nie zapomnij podzielić się z nami swoimi cennymi opiniami w komentarzach poniżej.