A Fedora 41 kiadásában javasolták, hogy az alapértelmezett disztribúciót a DNF5 csomagkezelőre állítsák át. Eredetileg a DNF5-re való átállást a Fedora 39-es kiadásban tervezték, de a migrációt a szerszámok hiányosságai miatt elhalasztották. Annak ellenére, hogy a régi eszközökkel elérhető funkciók teljes paritása még nem valósult meg, a fejlesztők úgy vélik, hogy a disztribúció készen áll a migrációra, a hiányzó lehetőségeket pedig később valósítják meg. A javaslatot még nem tárgyalta a FESCo (Fedora Engineering Steering Committee), amely a Fedora disztribúció technikai fejlesztéséért felelős. Ha a javaslatot elfogadják, a dnf, libdnf és dnf-cutomatic csomagokat a DNF5 szerszámmal és az új libdnf5 könyvtárral helyettesítik, míg a szimbolikus hivatkozás /usr/bin/dnf kezd majd az dnf5 futtatható fájlra mutatni.
A DNF egykor a Yum csomagkezelő helyébe lépett a disztribúcióban, amelyet teljes egészében Python nyelven írtak. A DNF-be a teljesítményigényes alacsony szintű funkciókat külön C könyvtárakba, mint például hawkey, librepo, libsolv és libcomps, átírták, de a keretrendszer és a magas szintű komponensek továbbra is Python nyelven maradtak. A DNF5 projekt célja a meglévő alacsony szintű könyvtárak egyesítése, a Pythonban maradt csomagkezelő komponensek C++-ra való átírása és a alapvető funkciók libdnf5 néven egy külön könyvtárba történő kiemelése, amely köré Python API megőrzésére szolgáló burkolatot hoznak létre.
A C++ nyelv használata a Python helyett lehetővé tette a nagyszámú függőség eltüntetését, a szerszám méretének csökkentését és a teljesítmény növelését. A magasabb teljesítmény nemcsak a gépi kódra való fordítás révén valósul meg, hanem a tranzakciós táblák javított megvalósítása, a tárolókba való betöltés optimalizálása és az adatbázis átszervezése (a rendszert állapotát és a műveletek történetét külön adatbázisokba rendezve) is hozzájárul. A DNF5 szerszám megszabadult a PackageKit-hez való kötődéstől, helyette egy új háttérfolyamat, a DNF Daemon került bevezetésre, amely a PackageKit funkcióit helyettesíti, és felületet biztosít a csomagok és frissítések kezelésére grafikus környezetekben.
A feldolgozás lehetőséget biztosított bizonyos fejlesztések megvalósítására, amelyek növelik a csomagkezelő használatának kényelmét. Például az új DNF-ben a műveletek végrehajtásának haladását szemléletesebben jelzik, támogatják a helyi RPM-csomagok használatát tranzakciók esetén, lehetőség van arra, hogy a végrehajtott tranzakciók jelentéseiben megjelenjenek a csomagokba beépített szkriptek (scriplets) által kiadott információk; egy fejlettebb automatikus kiegészítési rendszert javasoltak a bash számára.
Forrás: opennet.ru
