News - Logiciels Libres

Fedora 39 : Testez DNF 5 et Benchmark

| | Logiciels Libres | 5 Commentaires | 2818
Fedora 39 : Testez DNF 5 et Benchmark
Bonjour à tous,

Fedora 39 est sortie depuis quelques jours déjà.
Certains reprochent à la commande dnf (la commande permettant d'installer/supprimer/mettre à jour des paquets) d'être lente.
Je sais qu'on est de plus en plus pressés dans notre société, mais bon... certains sont vraiment des impatients :gene:

Sachez que DNF (actuellement DNF3) est développé en python3 :
Code BASH :
file /usr/bin/dnf

Code TEXT :
/usr/bin/dnf: symbolic link to dnf-3


Code BASH :
file /usr/bin/dnf-3

Code TEXT :
/usr/bin/dnf-3: Python script, ASCII text executable


Une réécriture est en cours et ne dépendra plus de python puisque dnf5 est dorénavent un binaire compilé, à partir d'un code source écrit en C++.
Un programme compilé est "normalement" plus rapide qu'un programme dont le code est interprété. De plus, il est optimisé au passage.

Il devrait être intégré par défaut dans Fedora 41, cependant il est déjà dans les dépôts depuis la version 39 de Fedora.

Si vous souhaitez le tester, installez simplement dnf5 et ses bibliothèques via cette commande en root :

Code BASH :
dnf install dnf5 dnf5-plugins


Une fois installé, il ne remplace pas le dnf classique. Il faudra utiliser la commande dnf5 qui a la même syntaxe que dnf (3) :

Code BASH :
dnf5 install paquet
dnf5 remove paquet
dnf5 upgrade
....


Si vous souhaitez ne pas utiliser la commande dnf5 mais remplacer le dnf classique par dnf5, je vous déconseille de toucher au lien symbolique /usr/bin/dnf

Vous pouvez créer un lien symbolique dans /usr/local/bin (qui est avant dans la variable $PATH) :

Code BASH :
sudo ln -sv /usr/bin/dnf5 /usr/local/bin/dnf


Et voilà, à chaque fois que vous invoquerez la commande dnf, dnf5 sera appelé.

Si vous souhaitez revenir à dnf-3 original, supprimez le lien symbolique :

Code BASH :
rm /usr/local/bin/dnf


N'hésitez pas à rapporter les bugs à l'équipe de Fedora afin de contribuer à dnf5 et à vous rendre utile !

Edit le 14/11/2023 - 20h00 : Benchmark maison :

dnf-3 : VM Fedora fraichement installée.
dnf5 : clone de la VM ci-dessus + installation de dnf5 comme indiqué

Code BASH :
time sudo dnf5 upgrade -y --download-only --refresh

44s avec dnf5

Code BASH :
time sudo dnf upgrade -y --download-only --refresh

1min29s avec dnf-3


Code BASH :
time sudo dnf5 upgrade -y 

4min44s avec dnf5

Code BASH :
time sudo dnf upgrade -y 

5min22s avec dnf-3


Code BASH :
time sudo dnf5 install htop -y

3,141s avec dnf-5

Code BASH :
time sudo dnf install htop -y

5,786s avec dnf-3