DNF5 5.4 reecrit le gestionnaire de paquets en C++ et se passe de Python

Résumé

Le gestionnaire par defaut de Fedora depuis la version 41, reecrit en C++ et libere de sa dependance a Python. Dans un conteneur vide, la chaine d outils occupe environ 60 pour cent de moins, et les requetes comme repoquery vont deux fois plus vite.

Recommander
Nom
DNF5
Version
5.4
Tarif
Gratuit
Open source
Open source
Système
Linux
Mis à jour
2026-10-04 07:09

Le dnf de Fedora a discretement change de squelette

Sur toute Fedora plus recente que la version 41, le dnf que l on tape n est tres probablement plus celui ecrit en Python autrefois. DNF5 est une reecriture du meme projet en C++, et depuis cette version il est le gestionnaire de paquets par defaut, la commande dnf n etant plus qu un lien qui pointe vers lui. Le projet est entretenu dans l organisation qui gere les paquets rpm et porte la seconde version de la licence publique generale, revisions ulterieures comprises. Ce qui vaut la lecture n est pas qu un outil ait ete reecrit, cela arrive sans arret, mais que la reecriture vise ce que l on ressent vraiment: la place qu occupe une installation, le temps qu un ordre met a demarrer, et la rapidite avec laquelle une requete revient.

Se passer de Python fait gagner en taille et en demarrage

L ancien dnf reposait sur Python, chaque appel devait donc lancer un interpreteur puis charger une pile de modules avant que la moindre chose utile se produise. DNF5 a deplace cette logique dans des bibliotheques compilees, et l outil en ligne de commande ne depend plus de Python. Selon les chiffres des notes de version de Fedora, installer cette chaine dans un conteneur vide donne quelque chose d environ 60 pour cent plus petit qu avant. Le gain sur les requetes se sent tout de suite: des ordres comme repoquery, qui listent ce qu un depot propose, vont environ deux fois plus vite, et l attente d un arbre de dependances ou d une longue liste d arguments diminue d autant. Pour une tache faite une fois par mois c est un detail; pour ce qu un script appelle cent fois par heure, cela decide de ce qui reste praticable.

Ce qui a change en pratique

Trois outils sont devenus un. L ancien dnf, microdnf et la base graphique tenaient chacun leur propre cache, les metadonnees etaient donc stockees plusieurs fois; dnf5 et son service en arriere plan partagent desormais une seule copie et ce doublon a disparu. Les supplements sont livres avec le programme principal au lieu d etre empaquetes a part, ce qui rend bien moins probable une version desaccordee apres une mise a jour. Trois interfaces distinctes, pour les paquets, pour les depots et pour la resolution des dependances, ont ete repliees dans un seul composant, avec des liaisons pour les langages de script produites par un seul outil et une seule maniere de nommer. La sortie et la documentation ont ete reprises aussi: le tableau des transactions en dit davantage, le bavardage des fragments de script est redirige vers un fichier de journal et classe sous le nom du paquet, chaque ordre a sa propre page de manuel, et la completion dans le shell a ete etendue.

Deux points a surveiller au moment de migrer

D abord, les bases d historique ne se parlent pas. dnf et dnf5 enregistrent chacun dans leur format, un paquet installe avec l ancien outil n apparait donc pas comme un evenement de l autre cote. DNF5 essaie pourtant de lire l ancien historique et de convertir l etat du systeme la premiere fois qu il execute une transaction, afin de garder des details comme le fait qu un paquet soit entre comme dependance, pour qu une dependance ne soit pas prise plus tard pour un choix de l utilisateur et gardee par erreur. Ensuite, les distributions pour entreprises tournent encore avec l ancien outil: la neuvieme generation de la variante commerciale, ses deux reconstructions communautaires et la dixieme gardent dnf par defaut, et DNF5 n y a pas encore pris la place. En septembre 2026, la version courante est 5.4. Pour un utilisateur ordinaire de Fedora, taper dnf suffit; ecrire dnf5 rend la distinction explicite.

Pour que la migration coute peu, des alias compatibles ont ete gardes pour les ordres et les options courants, si bien que les habitudes passent telles quelles. Les deux anciennes bibliotheques restent elles aussi dans le systeme et peuvent cohabiter avec DNF5, mais il n est pas sage de passer de l une a l autre pour modifier des logiciels installes, car l etat du systeme n est pas partage.

A qui cela importe

Sur un seul bureau ou l on installe un logiciel de temps en temps, la difference se resume a des ordres qui reviennent un peu plus vite. Les vrais gagnants sont les montages qui prennent Fedora comme image de base: un environnement Python de moins dans le conteneur fait une image plus petite, et faire tourner repoquery a repetition sur un serveur pour compter ce qui est installe transforme une vitesse doublee en temps reellement gagne. La valeur ne tient pas a quelques options en plus, mais au fait qu un gestionnaire de paquets est passe d un langage de script a un langage compile: plus petit, plus rapide a interroger, et sans garder deux fois le meme cache. Qui utilise Fedora apres la version 41 s en sert deja, la famille des entreprises doit encore attendre.

DNF5Téléchargement
Systèmes pris en charge : Linux