Utilisation de DNF : Commandes de base
Table des matières
Qu'est ce que dnf ?
dnf est l'outil de gestion des paquets dans Fedora au delà de la version 22
dnf est utilisé dans un terminal et sert à installer, désinstaller des logiciels; mais aussi pour mettre à jour la distribution.
dnf possède de nombreuses options..
La principale utilisation de dnf, c'est l'installation des logiciels dans la distribution :
Pour désinstaller un paquet, c'est aussi simple :
Si on souhaite désinstaller aussi les dépendances non utilisées :
Pour mettre à jour un paquet :
Et pour mettre à jour la distribution :
A noter : On peut exclure un paquet d'une mise à jour :
Les jokers fonctionnent aussi, moyennant un échappement du caractère :
Il est aussi possible (s'il est présent dans les dépôts) de rétrograder la version d'un paquet via
Même si c'est quasiment jamais utilisé, il est possible aussi via dnf de réinstaller un paquet. Ça le réinstalle dans la même version :
Pour rechercher un paquet par son nom, on peut utiliser :
Si on ne connait pas le nom du paquet, on peut utiliser le joker (échappement du caractère nécessaire) :
Lister tous les paquets disponibles dans les dépôts :
Lister tous les paquets installés :
Si on veut étendre la recherche à la description, utiliser alors
Si on a besoin d'un fichier précis, on peut grâce à dnf chercher le paquet correspondant :
Pour lister les dépôts installés :
Pour activer un dépôt de manière permanente :
Et pour désactiver un dépôt de manière permanente :
De manière temporaire, on peut activer un dépôt pour une mise à jour :
ou le désactiver :
Pour avoir des informations détaillées sur un paquet, on peut utiliser la commande
Avec dnf, on peut aussi afficher un historique des transactions réalisées :
Voici un exemple de sortie :
Pour savoir quels paquets dépendent d'un autre (par exemple si on veut la liste des paquets qui ont besoin de qt5-linguist), on fera :
Pour limiter la bande passante de dnf, éditer le fichier /etc/dnf/dnf.conf et utiliser l'option throttle . On ajoutera la valeur max_parallel_downloads pour limiter à 1 (par défaut, 3) :
Le paramètre de connexions est à placer à 1 sinon, dnf par défaut parallélise les téléchargements (par 3) et du coup, la limitation de la bande passante ne fonctionne plus !
Les deltarpm permettent de réduire la taille des téléchargements, mais l'opération de reconstruction des RPM est coûteuse en disque. Si la connexion est bonne, on peut désactiver l'utilisation des deltarpm en ajoutant ceci au fichier /etc/dnf/dnf.conf :
Si vous souhaitez exclure la mise à jour de manière permanente un paquet (pour éviter l'option --exclude à chaque mise à jour), éditer /etc/dnf/dnf.conf . Ajouter la ligne exclude puis tous les noms de paquets concernés séparés par un espace :
Si vous souhaitez ajouter un paquet à protéger (pour ne pas qu'il soit supprimé par inadvertance ou par orphelins) vous devez ajouter le nom du paquet au fichier /etc/dnf/protected.d/dnf.conf
Un nom de paquet par ligne.
Deux possibilités :
Passer par bash :
Directement dans le fichier /etc/dnf/dnf.conf :
Par défaut, dnf peut utiliser un miroir super lent. Il existe une astuce pour bénéficier d'un miroir rapide. Editer le fichier /etc/dnf/dnf.conf, et placer l'instruction fastestmirror :
Depuis Fedora 32, DNF envoie par défaut tous les 7 jours une requête permettant de comptabiliser des machines actives avec le type de version utilisée.
Si vous êtes opposé à cela, vous pouvez ajouter dans le fichier /etc/dnf/dnf.conf, l'instruction countme :
Par défaut, dnf permet de conserver 3 kernels (les 3 plus récents). C'est configuré grâce à la variable installonly_limit du fichier dnf.conf.
Pour par exemple ne conserver que 2 kernels, éditer /etc/dnf/dnf.conf et ajouter la ligne
La valeur minimale est 2. Si vous mettez 0, cela veut dire de garder de manière illimitée.
Si vous voulez consulter les variables et la config de dnf sur votre système :
- Introduction
- Utilisation des utilitaires
- Installer
- Désinstaller
- Mettre à jour
- Rétrograder la version d'un paquet
- Réinstaller un paquet
- Recherche de paquets
- Rechercher un paquet contenant un fichier
- Lister les dépôts
- Activer ou Désactiver un dépôt
- Activer ou désactiver un dépôt pendant la mise à jour
- Avoir des infos sur un paquet
- Afficher l'historique des transactions
- Trouver les paquets qui dépendent d'un autre
- Quelques astuces ...
Introduction
Qu'est ce que dnf ?
dnf est l'outil de gestion des paquets dans Fedora au delà de la version 22
dnf est utilisé dans un terminal et sert à installer, désinstaller des logiciels; mais aussi pour mettre à jour la distribution.
dnf possède de nombreuses options..
Utilisation des utilitaires
Installer
La principale utilisation de dnf, c'est l'installation des logiciels dans la distribution :
Copier vers le presse-papierCode BASH :
dnf install paquet
Désinstaller
Pour désinstaller un paquet, c'est aussi simple :
Copier vers le presse-papierCode BASH :
dnf remove paquet
Si on souhaite désinstaller aussi les dépendances non utilisées :
Copier vers le presse-papierCode BASH :
dnf autoremove paquet
Mettre à jour
Pour mettre à jour un paquet :
Copier vers le presse-papierCode BASH :
dnf upgrade paquet
Et pour mettre à jour la distribution :
Copier vers le presse-papierCode BASH :
dnf upgrade
A noter : On peut exclure un paquet d'une mise à jour :
Copier vers le presse-papierCode BASH :
dnf --exclude=paquet update
Les jokers fonctionnent aussi, moyennant un échappement du caractère :
Copier vers le presse-papierCode BASH :
dnf --exclude=kernel\* update
Rétrograder la version d'un paquet
Il est aussi possible (s'il est présent dans les dépôts) de rétrograder la version d'un paquet via
Copier vers le presse-papierCode BASH :
dnf downgrade paquet
Réinstaller un paquet
Même si c'est quasiment jamais utilisé, il est possible aussi via dnf de réinstaller un paquet. Ça le réinstalle dans la même version :
Copier vers le presse-papierCode BASH :
dnf reinstall paquet
Recherche de paquets
Pour rechercher un paquet par son nom, on peut utiliser :
Copier vers le presse-papierCode BASH :
dnf list paquet
Si on ne connait pas le nom du paquet, on peut utiliser le joker (échappement du caractère nécessaire) :
Copier vers le presse-papierCode BASH :
dnf list \*paqu\*
Lister tous les paquets disponibles dans les dépôts :
Copier vers le presse-papierCode BASH :
dnf list
Lister tous les paquets installés :
Copier vers le presse-papierCode BASH :
dnf list installed
Si on veut étendre la recherche à la description, utiliser alors
Copier vers le presse-papierCode BASH :
dnf search mot
Rechercher un paquet contenant un fichier
Si on a besoin d'un fichier précis, on peut grâce à dnf chercher le paquet correspondant :
Copier vers le presse-papierCode BASH :
dnf provides /usr/bin/fichier
Lister les dépôts
Pour lister les dépôts installés :
Copier vers le presse-papierCode BASH :
dnf repolist all
Activer ou Désactiver un dépôt
Pour activer un dépôt de manière permanente :
Copier vers le presse-papierCode BASH :
dnf config-manager --set-enabled nomdepot
Et pour désactiver un dépôt de manière permanente :
Copier vers le presse-papierCode BASH :
dnf config-manager --set-disabled nomdepot
Activer ou désactiver un dépôt pendant la mise à jour
De manière temporaire, on peut activer un dépôt pour une mise à jour :
Copier vers le presse-papierCode BASH :
dnf --enablerepo=nomdepot update
ou le désactiver :
Copier vers le presse-papierCode BASH :
dnf --disablerepo=nomdepot update
Avoir des infos sur un paquet
Pour avoir des informations détaillées sur un paquet, on peut utiliser la commande
Copier vers le presse-papierCode BASH :
dnf info paquet
Afficher l'historique des transactions
Avec dnf, on peut aussi afficher un historique des transactions réalisées :
Copier vers le presse-papierCode BASH :
dnf history
Voici un exemple de sortie :
Copier vers le presse-papierCode TEXT :
ID | Ligne de commande | Date et heure | Action(s) | Modifié -------------------------------------------------------------------------------- 3 | autoremove dnfdragora | 2020-09-13 12:00 | Removed | 17 2 | install neofetch | 2020-09-13 12:00 | Install | 24 1 | | 2020-09-13 11:48 | Install | 1261 EE
Trouver les paquets qui dépendent d'un autre
Pour savoir quels paquets dépendent d'un autre (par exemple si on veut la liste des paquets qui ont besoin de qt5-linguist), on fera :
Copier vers le presse-papierCode BASH :
dnf repoquery --whatrequires qt5-linguist --repo fedora-source
Quelques astuces ...
Limiter la bande passante de dnf
Pour limiter la bande passante de dnf, éditer le fichier /etc/dnf/dnf.conf et utiliser l'option throttle . On ajoutera la valeur max_parallel_downloads pour limiter à 1 (par défaut, 3) :
Copier vers le presse-papierCode BASH :
throttle=20k max_parallel_downloads=1
Le paramètre de connexions est à placer à 1 sinon, dnf par défaut parallélise les téléchargements (par 3) et du coup, la limitation de la bande passante ne fonctionne plus !
Désactiver les deltarpm
Les deltarpm permettent de réduire la taille des téléchargements, mais l'opération de reconstruction des RPM est coûteuse en disque. Si la connexion est bonne, on peut désactiver l'utilisation des deltarpm en ajoutant ceci au fichier /etc/dnf/dnf.conf :
Copier vers le presse-papierCode BASH :
deltarpm=0
Ajouter une exclusion permanente
Si vous souhaitez exclure la mise à jour de manière permanente un paquet (pour éviter l'option --exclude à chaque mise à jour), éditer /etc/dnf/dnf.conf . Ajouter la ligne exclude puis tous les noms de paquets concernés séparés par un espace :
Copier vers le presse-papierCode BASH :
exclude=kernel* firefox libreoffice*
Protéger des paquets de la suppression
Si vous souhaitez ajouter un paquet à protéger (pour ne pas qu'il soit supprimé par inadvertance ou par orphelins) vous devez ajouter le nom du paquet au fichier /etc/dnf/protected.d/dnf.conf
Un nom de paquet par ligne.
Utiliser un proxy avec dnf
Deux possibilités :
Passer par bash :
Copier vers le presse-papierCode BASH :
http_proxy="http://ip_proxy:3128" export http_proxy
Directement dans le fichier /etc/dnf/dnf.conf :
Copier vers le presse-papierCode BASH :
proxy=http://ip_proxy:3128
Utiliser le miroir le plus rapide
Par défaut, dnf peut utiliser un miroir super lent. Il existe une astuce pour bénéficier d'un miroir rapide. Editer le fichier /etc/dnf/dnf.conf, et placer l'instruction fastestmirror :
Copier vers le presse-papierCode BASH :
fastestmirror=true
Désactiver les statistiques
Depuis Fedora 32, DNF envoie par défaut tous les 7 jours une requête permettant de comptabiliser des machines actives avec le type de version utilisée.
Si vous êtes opposé à cela, vous pouvez ajouter dans le fichier /etc/dnf/dnf.conf, l'instruction countme :
Copier vers le presse-papierCode BASH :
countme=False
Conserver un certain nombre de kernels (installonly_limit)
Par défaut, dnf permet de conserver 3 kernels (les 3 plus récents). C'est configuré grâce à la variable installonly_limit du fichier dnf.conf.
Pour par exemple ne conserver que 2 kernels, éditer /etc/dnf/dnf.conf et ajouter la ligne
Copier vers le presse-papierCode BASH :
installonly_limit=2
La valeur minimale est 2. Si vous mettez 0, cela veut dire de garder de manière illimitée.
Afficher toute la config dnf
Si vous voulez consulter les variables et la config de dnf sur votre système :
Copier vers le presse-papierCode BASH :
dnf config-manager --dump