Devenir le maître de DNF

Tux, la mascotte officielle de Linux

DNF est un gestionnaire de paquets RPM moderne et très utilisé par des distributions comme Fedora, Mageia et autres. Il n’est pas simple au début de connaître toutes les possibilités offertes par DNF, pourtant cela vous sera utile un jour où l’autre pour plein de raisons (paquet cassé, problème de dépendance, mise à jour, système complet cassé, …). Nous allons présenter les commandes les plus utiles.

sudo dnf upgrade --refresh

Cette commande sera utilisée très souvent afin de mettre à jour la liste des paquets puis de lancer le processus de mise à jour. Pour avoir simplement la liste des mises à jour disponibles :

sudo dnf list --upgrades

Dans le même esprit pour avoir la liste des paquets installés sur le système :

sudo dnf list --installed

Vous pouvez choisir de mettre à jour une liste de paquets :

sudo dnf upgrade apache2 kodi

Pour supprimer une liste de paquets :

sudo dnf remove kodi

Pour supprimer des paquets non nécessaires (à utiliser avec beaucoup de précautions !) :

sudo dnf autoremove

Pour installer une liste de paquets :

sudo dnf install kodi

Pour installer une version antérieur d’un paquet vous pouvez soit utiliser install avec le nom exact du paquet avec la version désirée ou bien downgrade :

sudo dnf install kodi-x11-18.0-0.11.b3.fc29.x86_64
sudo dnf downgrade kodi

Pour réinstaller un paquet :

sudo dnf reinstall kodi

Dans les commandes précédentes vous pouvez simplement télécharger les paquets sans les installer en ajoutant l’option :

--downloadonly

De même si vous montez un autre système utilisant DNF, pour installer le paquet dans ce système et non dans le votre il peut être utile de passer en paramètre la racine à utiliser (très utile pour réparer un système depuis un autre système fonctionnant correctement) :

--installroot=/media/HDD/

Parfois vous devrez utiliser des options afin d’autoriser la suppression de paquets lors d’une opération :

--allowerasing --skip-broken

Enfin pour synchroniser votre installation avec les paquets actuels des dépôts vous pouvez utiliser :

sudo dnf distro-sync

Pour certains cas très spéciaux où un paquet en remplace un autre, il peut être nécessaire d’utiliser :

sudo dnf swap paquet_a paquet_b

Le paquet_a sera désinstaller pendant que le paquet_b sera installé. Cette commande est nécessaire pour remplacer un paquet qui a changé de nom sans casser les dépendances.