Gli sviluppatori di Fedora Linux intendono migrare la distribuzione verso il nuovo gestore di pacchetti Microdnf, al posto dell'attuale DNF. Il primo passo per questa migrazione sarà l'aggiornamento significativo previsto nel rilascio di Fedora Linux 38 per Microdnf, che sarà avvicinato per funzionalità a DNF, e in alcune aree lo supererà addirittura. Si segnala che la nuova versione di Microdnf supporterà tutte le funzionalità principali di DNF, mantenendo però prestazioni elevate e compattezza.
La principale differenza tra Microdnf e DNF è l'uso del linguaggio C per lo sviluppo, invece di Python, il che consente di eliminare un gran numero di dipendenze. Inizialmente, Microdnf è stato sviluppato come una versione ridotta di DNF per l'uso in container Docker, senza necessità di installare Python. Ora gli sviluppatori di Fedora pianificano di portare Microdnf al livello di DNF e, col tempo, sostituire completamente DNF con Microdnf.
Microdnf si basa sulla libreria libdnf5, sviluppata nell'ambito del progetto DNF 5. L'idea principale di DNF 5 consiste nella riscrittura delle operazioni di gestione dei pacchetti di base in C++ e nel loro spostamento in una libreria separata, creando attorno a questa libreria un'interfaccia per mantenere l'API Python.
La nuova versione di Microdnf utilizzerà anche un processo in background chiamato DNF Daemon, che sostituirà le funzionalità di PackageKit e fornirà un'interfaccia per la gestione dei pacchetti e degli aggiornamenti negli ambienti grafici. A differenza di PackageKit, il DNF Daemon supporterà solo il formato RPM.
Microdnf, libdnf5 e DNF Daemon nella prima fase di implementazione saranno forniti parallelamente agli strumenti tradizionali DNF. Una volta che il progetto sarà completamente pronto, questa nuova combinazione sostituirà pacchetti come dnf, python3-dnf, python3-hawkey, libdnf, dnfdragora e python3-dnfdaemon.
Tra i settori in cui Microdnf supera DNF ci sono: un'indicazione del progresso dell'esecuzione delle operazioni più visibile; una migliore implementazione della tabella delle transazioni; la possibilità di includere nei report sulle transazioni informazioni fornite dagli script integrati nei pacchetti (scriplets); supporto per l'uso di pacchetti RPM locali per le transazioni; un sistema di completamento del testo per bash più avanzato; supporto per l'esecuzione del comando builddep senza la necessità di installare Python nel sistema.
Tra i contro del passaggio a Microdnf, si segnala la modifica della struttura delle banche dati interne e la gestione separata delle banche dati rispetto a DNF, che non permetterà di vedere in Microdnf le transazioni con i pacchetti eseguite in DNF e viceversa. Inoltre, in Microdnf non si prevede di mantenere il 100% di compatibilità con DNF a livello di comandi e opzioni da riga di comando. Si osserveranno anche alcune discrepanze nel comportamento. Ad esempio, la rimozione di un pacchetto non comporterà l'eliminazione delle dipendenze ad esso associate che non sono utilizzate in altri pacchetti.
Fonte: opennet.ru
