27 Commandes ‘DNF’ (Fork de Yum) pour la Gestion des Paquets RPM sous Linux

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 :

  1. Raisons du remplacement de Yum par DNF

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:

  1. --skip-broken n’est pas reconnu par DNF et il n’y a pas d’alternative.
  2. Il n’y a rien comme la commande ‘resolvedep‘ cependant vous pouvez exécuter dnf provides.
  3. Il n’y a pas de commande ‘deplist‘ pour trouver les dépendances de package.
  4. 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/