Fedora 41 versioonis on ettepanek tõlkida vaikimisi distributiiv pakihalduriks DNF5. Alguses plaaniti DNF5-le üleminek teha Fedora 39 väljalaske puhul, kuid migratsioon lükati edasi tööriistade valmiduse puudumise tõttu. Kuigi täisfunktsionaalsust vana tööriistakomplekti osas ei ole veel saavutatud, usuvad arendajad, et distributiiv on migratsiooniks valmis ja puuduvad võimalused saab hiljem rakendada. Ettepanekut ei ole veel arutatud FESCo (Fedora Engineering Steering Committee) komitee poolt, mis vastutab Fedora distributiivi arenduse tehniliste aspektide eest. Ettepaneku vastu võtmisel asendatakse paketid dnf, libdnf ja dnf-cutomatic tööriistakomplektiga DNF5 ja uue raamatukoguga libdnf5, ning sümboolne link /usr/bin/dnf hakkab viitama executivfailile dnf5.
DNF tuli distributiivis algselt pakihaldurina Yum'i, mis oli täielikult kirjutatud Pythonis. DNFs on jõudlust nõudvad madalama tasandi funktsioonid ümber kirjutatud ja viiakse eraldi C-kogudesse hawkey, librepo, libsolv ja libcomps, kuid raamistik ja kõrgema tasandi komponendid jäid Pythonisse. DNF5 projekt on suunatud madalama tasandi olemasolevate raamatukogude ühtlustamisele, jäävate pakihalduskomponentide ümberkirjutamisele C++ keeles ja põhifunktsioonide eraldi raamatukogusse libdnf5 väljatöötamisele, luues selle raamatu ümber Python API säilitamiseks.
C++ keele kasutamine Python'i asemel on võimaldanud vabaneda suurest hulgast sõltuvustest, vähendada tööriista suurust ja tõsta jõudlust. Suurenenud jõudlust saavutatakse mitte ainult masinkoodiks kompileerimise, vaid ka parandatud tehingute tabeli elluviimise, repodega laadimise optimeerimise ja andmebaasi ümberstruktureerimise kaudu (süsteemi olekute ja tegevuste ajaloo andmebaasid on eraldatud). DNF5 tööriist on vabastatud PackageKit'i sõltuvustest, asendades selle uue DNF Deemoni taustprotsessiga, mis pakub PackageKit'i funktsionaalsust ja pakub liidese pakettide ja värskenduste haldamiseks graafilistes keskkondades.
Töötlemine võimaldas rakendada ka mõned täiustused, mis suurendavad pakihalduri kasutusmugavust. Näiteks on uues DNF-is ellu viidud selgem tegevuste edenemise näitamine; lisatud on tugi kohalike RPM-pakettide kasutamiseks tehingutes; tehingute täitmise aruannetes on võimalik näidata teavet, mida pakettidesse sisseehitatud skriptid (scriplets) toodavad; pakkuda on antud ka täiustatud automaatse täitmise süsteem bash'i jaoks.
Allikas: opennet.ru
