DNF alias Dandified YUM est un gestionnaire de paquets de nouvelle génération pour les distributions basées sur RPM. Il a été introduit pour la première fois dans Fedora 18 et a remplacé l’utilitaire YUM dans la version récente de Fedora 22.
DNF vise à améliorer les points faibles de YUM tels que les performances, l’utilisation de la mémoire, la résolution des dépendances, la vitesse et de nombreux autres facteurs. DNF gère les paquets en utilisant RPM, libsolv et la bibliothèque hawkey. Bien qu’il ne soit pas préinstallé dans CentOS et RHEL 7, vous pouvez l’installer avec yum, dnf et l’utiliser aux côtés de yum.
Vous pouvez en savoir plus sur DNF ici :
La dernière version stable de DNF est 1.0 (au moment de la rédaction de cet article) qui a été publiée le 11 mai 2015. Elle (et toutes les versions précédentes de DNF) est principalement écrite en Python et est publiée sous la licence GPL v2.
L’installation de DNF
DNF n’est pas disponible dans le dépôt par défaut de RHEL/CentOS 7. Cependant, Fedora 22 est livré avec DNF implémenté officiellement.
Pour installer DNF sur les systèmes RHEL/CentOS, vous devez d’abord installer et activer le dépôt epel-release.
# yum install epel-release OR # yum install epel-release -y
Bien qu’il ne soit pas éthique d’utiliser “-y” avec yum car il est recommandé de voir ce qui est installé sur votre système, si cela ne vous dérange pas, vous pouvez utiliser “-y” avec yum pour tout installer automatiquement sans intervention de l’utilisateur.
Ensuite, installez le paquet DNF en utilisant la commande yum à partir du dépôt epel-release.
# yum install dnf
Après l’installation réussie de DNF, il est temps de vous montrer 27 utilisations pratiques des commandes DNF avec des exemples qui vous aideront à gérer les packages dans les distributions basées sur RPM de manière facile et efficace.
1. Vérifier la version de DNF
Vérifiez la version de DNF installée sur votre système.
# dnf --version
2. Liste des dépôts DNF activés
L’option “repolist” avec la commande dnf affichera tous les dépôts activés sous votre système.
# dnf repolist
3. Liste de tous les dépôts DNF activés et désactivés
L’option “repolist all” affichera tous les dépôts activés/désactivés sous votre système.
# dnf repolist all
4. Liste de tous les packages disponibles et installés en utilisant DNF
La commande “dnf list” listera tous les packages disponibles de tous les dépôts et les packages installés sur votre système Linux.
# dnf list
5. Liste de tous les packages installés en utilisant DNF
Alors que la commande « dnf list » affiche tous les paquets disponibles/installés de tous les dépôts. Cependant, vous avez la possibilité de lister uniquement les paquets installés en utilisant l’option « list installed » comme indiqué ci-dessous.
# dnf list installed
6. Liste de tous les paquets disponibles en utilisant DNF
De même, l’option « list available« , listera tous les paquets disponibles à installer à partir de tous les dépôts activés.
# dnf list available
7. Recherche d’un paquet en utilisant DNF
Si jamais vous n’avez aucune idée du paquet que vous souhaitez installer, dans une telle situation, vous pouvez utiliser l’option ‘search’ avec la commande dnf pour rechercher le paquet qui correspond au mot ou à la chaîne (disons nano).
# dnf search nano
8. Voir ce qui fournit un fichier/sous-paquet?
L’option dnf « provides » trouve le nom du paquet qui fournit un fichier/sous-paquet spécifique. Par exemple, si vous souhaitez savoir ce qui fournit ‘/bin/bash’ sur votre système?
# dnf provides /bin/bash
9. Obtenir les détails d’un paquet en utilisant DNF
Supposons que vous vouliez connaître les informations d’un paquet avant de l’installer sur le système, vous pouvez utiliser l’option « info » pour obtenir des informations détaillées sur un paquet (disons nano) comme ci-dessous.
# dnf info nano
10. Installer un paquet avec DNF
Pour installer un paquet appelé nano, exécutez simplement la commande ci-dessous, elle résoudra automatiquement et installera toutes les dépendances requises pour le paquet nano.
# dnf install nano
11. Mettre à jour un paquet en utilisant DNF
Vous pouvez mettre à jour uniquement un package spécifique (disons systemd) et laisser tout le reste du système inchangé.
# dnf update systemd
12. Vérifier les mises à jour du système en utilisant DNF
Vérifiez les mises à jour pour tous les packages système installés simplement comme suit.
# dnf check-update
13. Mettre à jour tous les packages système en utilisant DNF
Vous pouvez mettre à jour l’ensemble du système, y compris tous les packages installés, avec les commandes suivantes.
# dnf update OR # dnf upgrade
14. Supprimer/Effacer un package en utilisant DNF
Pour supprimer ou effacer un package indésirable (disons nano), vous pouvez utiliser l’option « remove » ou « erase » avec la commande dnf pour le supprimer.
# dnf remove nano OR # dnf erase nano
15. Supprimer les packages orphelins en utilisant DNF
Ces packages qui ont été installés pour satisfaire une dépendance peuvent être inutiles s’ils ne sont pas utilisés par d’autres applications. Pour supprimer ces packages orphelins, exécutez la commande suivante.
# dnf autoremove
16. Supprimer les packages mis en cache en utilisant DNF
A lot of time we encounter out-of-date headers and unfinished transactions which results into error while executing dnf. We may clean all the cached packages and headers containing remote package information simply by executing.
# dnf clean all
17. Obtenir de l’aide sur une commande DNF spécifique
Vous pouvez obtenir de l’aide sur une commande dnf spécifique (disons clean) en exécutant simplement la commande suivante.
# dnf help clean
18. Lister toutes les commandes et options DNF
Pour afficher l’aide sur toutes les commandes et options dnf disponibles, saisissez simplement.
# dnf help
19. Afficher l’historique de DNF
Vous pouvez appeler l’historique dnf pour consulter la liste des commandes dnf déjà exécutées. De cette manière, vous pouvez savoir ce qui a été installé/supprimé avec des horodatages.
# dnf history
20. Lister tous les packages de groupe
La commande « dnf grouplist » affichera tous les paquets disponibles ou installés, s’il n’y a rien de mentionné, elle listera tous les groupes connus.
# dnf grouplist
21. Installer un paquet de groupe en utilisant DNF
Pour installer un groupe de paquets regroupés en tant que paquet de groupe (disons Logiciels éducatifs) simplement comme.
# dnf groupinstall 'Educational Software'
22. Mettre à jour un paquet de groupe
Mettons à jour un paquet de groupe (disons Logiciels éducatifs) en exécutant la commande ci-dessous.
# dnf groupupdate 'Educational Software'
23. Supprimer un paquet de groupe
Nous pouvons supprimer le paquet de groupe (disons Logiciels éducatifs) comme.
# dnf groupremove 'Educational Software'
24. Installer un paquet à partir d’un dépôt spécifique
DNF permet d’installer n’importe quel paquet spécifique (disons phpmyadmin) à partir d’un dépôt (epel) aussi simplement que,
# dnf --enablerepo=epel install phpmyadmin
25. Synchroniser les paquets installés avec la version stable
La commande « dnf distro-sync » fournira les options nécessaires pour synchroniser tous les paquets installés avec la version stable la plus récente disponible à partir de n’importe quel dépôt activé. Si aucun paquet n’est sélectionné, tous les paquets installés sont synchronisés.
# dnf distro-sync
26. Réinstaller un paquet
La commande « dnf reinstall nano » réinstallera un paquet déjà installé (disons nano).
# dnf reinstall nano
27. Rétrograder un paquet
L’option « downgrade » rétrograde le paquet nommé (disons acpid) vers une version inférieure si possible.
# dnf downgrade acpid
Exemple de sortie
Using metadata from Wed May 20 12:44:59 2015 No match for available package: acpid-2.0.19-5.el7.x86_64 Error: Nothing to do.
Mon observation: DNF n’a pas rétrogradé le package comme il est censé le faire. Cela a également été signalé comme un bug.
Conclusion
DNF est l’état supérieur du gestionnaire de packages YUM. Il a tendance à effectuer beaucoup de traitement automatiquement, ce qui ne sera pas apprécié par de nombreux administrateurs système Linux expérimentés, je pense. Par exemple:
--skip-broken
n’est pas reconnu par DNF et il n’y a pas d’alternative.- Il n’y a rien comme la commande ‘resolvedep‘ cependant vous pouvez exécuter dnf provides.
- Il n’y a pas de commande ‘deplist‘ pour trouver les dépendances de package.
- Si vous excluez un dépôt, l’exclusion s’applique à toutes les opérations, contrairement à yum qui exclut ces dépôts uniquement au moment de l’installation et des mises à jour, etc.
Plusieurs utilisateurs Linux ne sont pas satisfaits de la manière dont l’écosystème Linux évolue. D’abord Systemd a supprimé le système d’initialisation v et maintenant DNF remplacera bientôt YUM dans Fedora 22 et plus tard dans RHEL et CentOS.
Qu’en pensez-vous? Les distributions et l’ensemble de l’écosystème Linux ne valorisent-ils pas leurs utilisateurs et vont à l’encontre de leur volonté? Il est également souvent dit dans l’industrie informatique – “Pourquoi réparer, si ce n’est pas cassé?”, et ni le système d’initialisation V ni YUM ne sont cassés.
C’est tout pour le moment. Veuillez me faire part de vos réflexions précieuses dans les commentaires ci-dessous. Aimez et partagez-nous et aidez-nous à nous faire connaître.
Source:
https://www.tecmint.com/dnf-commands-for-fedora-rpm-package-management/