Fedora 39 planerar att flytta till DNF5, fri från Python-komponenter

Ben Cotton, som innehar positionen som Fedora Program Manager på Red Hat, meddelade sin avsikt att byta Fedora Linux till DNF5-pakethanteraren som standard. Fedora Linux 39 planerar att ersätta dnf-, libdnf- och dnf-cutomatic-paketen med DNF5-verktygslådan och det nya libdnf5-biblioteket. Förslaget har ännu inte behandlats av FESCo (Fedora Engineering Steering Committee), som är ansvarig för den tekniska delen av utvecklingen av Fedora-distributionen.

Vid ett tillfälle ersatte DNF Yum, som helt skrevs i Python. I DNF skrevs prestandaintensiva lågnivåfunktioner om och flyttades till separata C-bibliotek hawkey, librepo, libsolv och libcomps, men ramverket och högnivåkomponenterna förblev i Python. DNF5-projektet syftar till att förena befintliga lågnivåbibliotek, skriva om de återstående pakethanteringskomponenterna i Python i C++ och flytta den grundläggande funktionaliteten till ett separat libdnf5-bibliotek med skapandet av ett omslag runt detta bibliotek för att spara Python API.

Att använda C++ istället för Python kommer att eliminera ett stort antal beroenden, minska storleken på verktygslådan och förbättra prestandan. Högre prestanda uppnås inte bara genom användning av kompilering till maskinkod, utan också genom förbättrad implementering av transaktionstabellen, optimering av laddning från arkiv och omstrukturering av databaser (databaser med systemtillstånd och drifthistorik separeras). DNF5-verktygssatsen är frikopplad från PackageKit till förmån för en ny bakgrundsprocess som kallas DNF Daemon, som ersätter PackageKit-funktionalitet och tillhandahåller ett gränssnitt för att hantera paket och uppdateringar i grafiska miljöer.

Omarbetningen kommer också att ge möjlighet att implementera några förbättringar som förbättrar användbarheten av pakethanteraren. Till exempel ger den nya DNF en mer visuell indikation på verksamhetens framsteg; lagt till stöd för att använda lokala RPM-paket för transaktioner; lade till möjligheten att visa i rapporter om genomförda transaktioner information producerad av skript inbyggda i paket; Ett mer avancerat inmatningssystem för bash har föreslagits.

Källa: opennet.ru

Lägg en kommentar