I udgivelsen Fedora 41 foreslås det at ændre standarddistributionen til pakkehåndteringssystemet DNF5. Oprindeligt var overgangen til DNF5 planlagt til udgivelsen af Fedora 39, men migrationen blev udsat på grund af ufuldstændige værktøjer. Selvom der stadig ikke er opnået fuld lighed i funktionaliteten med det gamle værktøj, mener udviklerne, at distributionen er klar til migration, og de manglende funktioner kan implementeres senere. Forslaget er endnu ikke blevet behandlet af FESCo (Fedora Engineering Steering Committee), som er ansvarlig for den tekniske del af udviklingen af Fedora-distributionen. Hvis forslaget vedtages, vil pakkerne dnf, libdnf og dnf-cutomatic blive erstattet med værktøjet DNF5 og det nye bibliotek libdnf5, og den symbolske link /usr/bin/dnf vil begynde at pege på eksekveringsfilen dnf5.
Tidligere kom DNF til distributionen som erstatning for pakkehåndteringssystemet Yum, som var skrevet helt i Python. I DNF blev de kravstore lavniveau-funktioner omskrevet og flyttet til separate C-biblioteker hawkey, librepo, libsolv og libcomps, men rammerne og høj-niveau komponenterne forblev på Python. DNF5-projektet har til formål at forene de eksisterende lavniveau-biblioteker, omskrive de tilbageværende Python-komponenter til C++ og flytte grundlæggende funktionalitet til et separat bibliotek libdnf5, med oprettelse af et wrapper omkring dette bibliotek for at bevare Python API'en.
Brugen af C++ i stedet for Python har gjort det muligt at reducere antallet af afhængigheder, mindske størrelsen af værktøjet og forbedre ydeevnen. Den højere ydeevne opnås ikke kun gennem kompilering til maskinkode, men også ved forbedret implementering af transaktionstabellen, optimering af indlæsning fra repositories og omstrukturering af databasen (systemtilstandens databaser er adskilt fra operationernes historik). Værktøjet DNF5 er ikke længere bundet til PackageKit, i stedet anvendes en ny baggrundsproces DNF Daemon, som erstatter PackageKits funktionalitet og tilbyder et interface til styring af pakker og opdateringer i grafiske miljøer.
Omdannelse har også givet mulighed for at implementere nogle forbedringer, der øger brugervenligheden af pakkestyringssystemet. For eksempel har den nye DNF indført en mere visuel indikator for fremskridt ved udførelse af operationer; der er tilføjet support for brug af lokale RPM-pakker til transaktioner; der er tilføjet mulighed for at vise oplysninger i rapporter om afsluttede transaktioner, som gives af scripts indbygget i pakkerne (scriplets); der er foreslået et mere avanceret system til autocompletion af input til bash.
Kilde: opennet.ru
