V izdanju Fedora 41 je predlagano, da bi se privzeti distribucijski sistem prenesel na paketni upravljalnik DNF5. Sprva je bilo načrtovano, da se prehod na DNF5 izvede v izdanju Fedora 39, vendar je bila migracija preložena zaradi nepripravljenosti orodij. Kljub temu, da popolnega pariteta v funkcionalnosti s starim orodjem še ni dosežen, razvijalci menijo, da je distribucija pripravljena na migracijo, manjkajoče funkcionalnosti pa lahko implementirajo pozneje. Predlog za zdaj še ni bil obravnavan s strani odbora FESCo (Fedora Engineering Steering Committee), ki je odgovoren za tehnični del razvoja distribucije Fedora. V primeru sprejetja predloga bodo paketi dnf, libdnf in dnf-cutomatic zamenjani z orodji DNF5 in novo knjižnico libdnf5, simbolna povezava /usr/bin/dnf pa bo začela kazati na izvršno datoteko dnf5.
DNF je nekoč v distribuciji zamenjal paketni upravljalnik Yum, ki je bil v celoti napisan v jeziku Python. V DNF so bile zahtevne funkcije, ki potrebujejo visoko zmogljivost, ponovno napisane in prenesene v ločene C knjižnice hawkey, librepo, libsolv in libcomps, vendar je ogrodje in visoko nivojske komponente ostalo v jeziku Python. Projekt DNF5 je usmerjen v unifikacijo obstoječih nizko nivojskih knjižnic, ponovno pisanje preostalih komponent upravljanja paketov v jeziku C++ in prenos osnovne funkcionalnosti v ločeno knjižnico libdnf5 z ustvarjanjem ovitka okoli te knjižnice za ohranitev Python API-ja.
Uporaba jezika C++ namesto Pythona je omogočila zmanjšanje števila odvisnosti, zmanjšanje velikosti orodja in povečanje zmogljivosti. Višja zmogljivost se doseže ne le s pomočjo prevajanja v strojno kodo, temveč tudi z izboljšano implementacijo tabele transakcij, optimizacijo nalaganja iz repozitorijev in restrukturiranjem baze podatkov (razločitev med bazami stanja sistema in zgodovine operacij). Orodje DNF5 je osvobojeno vezave na PackageKit, namesto katerega je uporabljen nov zaledni proces DNF Daemon, ki nadomešča funkcionalnost PackageKit in zagotavlja vmesnik za upravljanje paketov in posodobitev v grafičnih okoljih.
Preoblikovanje je prav tako omogočilo uresničitev nekaterih izboljšav, ki povečujejo udobje pri delu z orodjem za upravljanje paketov. Na primer, v novi DNF je bila uvedena bolj pregledna prikaz napredka pri izvajanju operacij; dodana je podpora za uporabo lokalnih RPM paketov pri transakcijah; dodana je možnost prikaza informacij, ki jih zagotavljajo skripte, vključene v pakete (scriplets), v poročilih o opravljenih transakcijah; predlagan je bolj napreden sistem samodejnega dopolnjevanja vnosa za bash.
Izvor: opennet.ru
