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 :
Code BASH :
dnf install paquet
Désinstaller
Pour désinstaller un paquet, c'est aussi simple :
Code BASH :
dnf remove paquet
Si on souhaite désinstaller aussi les dépendances non utilisées :
Code BASH :
dnf autoremove paquet
Mettre à jour
Pour mettre à jour un paquet :
Code BASH :
dnf upgrade paquet
Et pour mettre à jour la distribution :
Code BASH :
dnf upgrade
A noter : On peut exclure un paquet d'une mise à jour :
Code BASH :
dnf --exclude=paquet update
Les jokers fonctionnent aussi, moyennant un échappement du caractère :
Code 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
Code 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 :
Code BASH :
dnf reinstall paquet
Recherche de paquets
Pour rechercher un paquet par son nom, on peut utiliser :
Code BASH :
dnf list paquet
Si on ne connait pas le nom du paquet, on peut utiliser le joker (échappement du caractère nécessaire) :
Code BASH :
dnf list \*paqu\*
Lister tous les paquets disponibles dans les dépôts :
Code BASH :
dnf list
Lister tous les paquets installés :
Code BASH :
dnf list installed
Si on veut étendre la recherche à la description, utiliser alors
Code 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 :
Code BASH :
dnf provides /usr/bin/fichier
Lister les dépôts
Pour lister les dépôts installés :
Code BASH :
dnf repolist all
Activer ou Désactiver un dépôt
Pour activer un dépôt de manière permanente :
Code BASH :
dnf config-manager --set-enabled nomdepot
Et pour désactiver un dépôt de manière permanente :
Code 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 :
Code BASH :
dnf --enablerepo=nomdepot update
ou le désactiver :
Code 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
Code BASH :
dnf info paquet
Afficher l'historique des transactions
Avec dnf, on peut aussi afficher un historique des transactions réalisées :
Code BASH :
dnf history
Voici un exemple de sortie :
Code 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 :
Code 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) :
Code 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 :
Code 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 :
Code 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 :
Code BASH :
http_proxy="http://ip_proxy:3128" export http_proxy
Directement dans le fichier /etc/dnf/dnf.conf :
Code 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 :
Code 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 :
Code 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
Code 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 :
Code BASH :
dnf config-manager --dump