Odbor FESCo (Fedora Engineering Steering Committee), zadužen za tehnički dio razvoja distribucije Fedora Linux, odobrio je korištenje paketnog menadžera DNF5 kao zadanu opciju u jesenskom izdanju Fedore 41. Paketi dnf, libdnf i dnf-cutomatic bit će zamijenjeni skupom alata DNF5 i novom bibliotekom libdnf5, a simbolička poveznica /usr/bin/dnf počet će upućivati na izvršne datoteke dnf5.
Iako još nije postignuta potpuna paritet funkcionalnosti sa starim alatom, programeri smatraju da je distribucija spremna za migraciju, a nedostajuće mogućnosti mogu se implementirati kasnije. Na primjer, trenutno nije dostupna funkcionalnost koja se odnosi na upravljanje poviješću transakcija, koja leži u osnovi komande „dnf history“. Također, rad na integraciji podrške za pozadinski proces dnf5daemon u GNOME Software menadžer aplikacija još nije završen. Potrebno je dodatno testiranje mehanizma za ažuriranje cijelog sustava na sljedeće izdanje (komanda system-upgrade).
DNF je došao u distribuciju kao zamjena za paketni menadžer Yum, koji je bio napisan u cijelosti na programskom jeziku Python. U DNF-u su zahtjevne funkcije niskog nivoa prepisane i izdvojene u posebne C biblioteke hawkey, librepo, libsolv i libcomps, dok su kostur i visoko-nivo komponente ostale na jeziku Python. Projekt DNF5 ima za cilj unificirati postojeće niskonivelske biblioteke, prepisati na jezik C++ preostale na Pythonu komponente za upravljanje paketima i izdvojiti osnovnu funkcionalnost u posebnu biblioteku libdnf5 stvarajući oko ove biblioteke omotač za očuvanje Python API-ja.
Korištenje C++ umjesto Pythona omogućilo je eliminaciju velikog broja ovisnosti, smanjenje veličine alata i povećanje performansi. Viša razina performansi postiže se ne samo primjenom kompilacije u strojni kod, već i poboljšanom implementacijom tablice transakcija, optimizacijom učitavanja iz repozitorija i restrukturiranjem baze podataka (razdvojene baze s stanjem sustava i povijesti operacija). Alat DNF5 oslobođen je vezanosti uz PackageKit, umjesto kojeg je uveden novi pozadinski proces DNF Daemon, koji zamjenjuje funkcionalnost PackageKit i pruža sučelje za upravljanje paketima i ažuriranjima u grafičkim okruženjima.
Redizajn je također omogućio realizaciju nekih poboljšanja koja povećavaju korisničku udobnost rada s upraviteljem paketa. Na primjer, u novom DNF-u implementirana je jasnija indikacija napretka izvedbe operacija; dodana je podrška za korištenje lokalnih RPM paketa u transakcijama; dodana je mogućnost prikazivanja u izvještajima o izvršenim transakcijama informacija koje izdaju skripte ugrađene u pakete (scriplets); ponuđen je napredniji sustav automatskog dovršavanja unosa za bash.
Izvor: opennet.ru
