FESCo (Fedora Engineering Steering Committee), mis vastutab Fedora Linuxi jaotuse arenduse tehnilise poole eest, on heaks kiitnud DNF5 pakihalduri kasutuselevõtu vaikimisi Fedora 41 sügisväljalaskeversioonis. Paketid dnf, libdnf ja dnf-cutomatic asendatakse Fedora 41-s DNF5 tööriistade ja uue libdnf5 teegiga, ning sümboolne link /usr/bin/dnf hakkab viitama dnf5 käivitatavale failile.
Kuigi täielik funktsionaalsuse pariteet vana tööriistaga ei ole veel saavutatud, peavad arendajad jaotust migratsiooniks valmis, ja puuduvad funktsioonid saab hiljem rakendada. Näiteks ei ole hetkel saadaval tehingu ajalugu haldamisega seotud funktsioon, mis on põhinev käsul „dnf history“. Samuti ei ole veel lõppenud dnf5daemon'i taustprotsessi toe integreerimine GNOME Software rakenduse haldurisse. Järgmise versiooni süsteemi värskendamise mekanism (käsk system-upgrade) vajab täiendavat testimist.
Oma ajal asendas DNF Yum'i paketihalduri, mis oli täielikult kirjutatud Pythonis. DNF-s kirjutati tagasi madala tasemega jõudlust nõudvad funktsioonid ning need viidi eraldi C-teekidesse hawkey, librepo, libsolv ja libcomps, kuid raamistik ja kõrgema taseme komponendid jäid Pythonisse. DNF5 projekt on suunatud olemasolevate madala taseme teekide ühtlustamisele, jääkte Normat refaktoreerimisele C++ keelde, ning põhifunktsioonide viimisele eraldi teeki libdnf5 koos Python API säilitamiseks selle teegi ümber.
C++ keele kasutamine Python'i asemel lubas vähendada sõltuvuste arvu, vähendada tööriistade suurust ja tõsta jõudlust. Suurem jõudlus on saavutatud mitte ainult masinkoodi kompileerimise tõttu, vaid ka parandatud tehingute tabeli, tõhustatud laadimise optimeerimise ja andmebaasi restruktureerimise abil (süsteemi seisundi ja tehingute ajaloo alused on eraldatud). DNF5 tööriist on eemaldanud sõltuvuse PackageKit'ist, asemel on kaasatud uus DNF Daemon taustprotsess, mis asendab PackageKit'i funktsionaalsuse ning pakub liidest pakettide ja värskenduste haldamiseks graafilistes keskkondades.
Ümberkujundamine on andnud võimaluse teostada mitmeid täiustusi, mis parandavad pakihalduri kasutusmugavust. Näiteks on uues DNF-is rakendatud selgemat protsessi edenemise näidikut; lisatud on kohalike RPM-pakettide toetamine tehingutes; aruannetes teostatavate toimingute kohta on võimalus kuvada teavet, mida süstib pakettidesse sisseehitatud skriptid (scriplets); pakutakse täiustatud bash sisestamise automaatse täiendamise süsteemi.
Allikas: opennet.ru
