DNF ( DaNdified Yum) est la nouvelle génération de yum, il remplace yum des système basé sur le gestionnaire de package RMP comme RedHat, Fedora et CentOS. dnf présente plusieurs avantages par rapport à yum , comme le support de plusieurs dépôts, moins de consommation de mémoire, gestion rapide des dépendances et bien d’autre.
Dans ce guide nous allons voir quelques exemples essentielles de la commande dnf à connaitre.
Installation de dnf :
dnf est installé par défaut sur Fedora 22 par contre ce n’est le cas pour CentOS7 et RHEL7, pour l’installer il suffit de taper la commande ci-dessous :
[root@srv ~]# yum install dnf :
Tous ces dépendance seront installés 🙂
====================================================================================================================================================================== Package Architecture Version Dépôt Taille ============================================================================================================================================================================ Installation : dnf noarch 4.0.9.2-1.el7_6 extras 357 k Installation pour dépendances : deltarpm x86_64 3.6-3.el7 base 82 k dnf-data noarch 4.0.9.2-1.el7_6 extras 51 k libcomps x86_64 0.1.8-14.el7 extras 75 k libdnf x86_64 0.22.5-1.el7_6 extras 533 k libmodulemd x86_64 1.6.3-1.el7 extras 141 k librepo x86_64 1.8.1-7.el7 base 81 k libreport-filesystem x86_64 2.1.11-53.el7.centos base 41 k libsolv x86_64 0.6.34-4.el7 base 329 k libyaml x86_64 0.1.4-11.el7_0 base 55 k python-enum34 noarch 1.0.4-1.el7 base 52 k python2-dnf noarch 4.0.9.2-1.el7_6 extras 414 k python2-hawkey x86_64 0.22.5-1.el7_6 extras 68 k python2-libcomps x86_64 0.1.8-14.el7 extras 47 k python2-libdnf x86_64 0.22.5-1.el7_6 extras 608 k
la commande dnf est similaire à celle de yum, ceux que je vais vous présenter je les ai testé sur CentOS 7.
1 – Afficher la version de dnf :
[root@srv ~]# dnf --version 4.0.9
2-Installer un package :
[root@srv ~]# dnf install bash-completion net-tools vim
Vous pouvez installer plusieurs packages en une seule commande :
[root@srv ~]# dnf install bash-completion net-tools vim
3-Afficher des infos sur un package :
Pour afficher des infos un sur package , qu’il soit installé ou pas, utiliser la commande ci-dessous, j’ai pris l’exemple de net-tools que j’ai déja installé alors que ce n’est pas le cas pour nano :
[root@http1 ~]# dnf info net-tools Dernière vérification de l’expiration des métadonnées effectuée il y a 0:00:14 le dim. 07 juin 2020 02:07:42 WEST. Paquets installés Nom : net-tools Version : 2.0 Publication : 0.25.20131004git.el7 Architecture : x86_64 Taille : 917 k Source : net-tools-2.0-0.25.20131004git.el7.src.rpm Dépôt : @System Résumé : Basic networking tools URL : http://sourceforge.net/projects/net-tools/ Licence : GPLv2+ Description : The net-tools package contains basic networking tools, : including ifconfig, netstat, route, and others. : Most of them are obsolete. For replacement check iproute package.
[root@http1 ~]# dnf info nano Dernière vérification de l’expiration des métadonnées effectuée il y a 0:00:36 le dim. 07 juin 2020 02:07:42 WEST. Paquets disponibles Nom : nano Version : 2.3.1 Publication : 10.el7 Architecture : x86_64 Taille : 440 k Source : nano-2.3.1-10.el7.src.rpm Dépôt : base Résumé : A small text editor URL : http://www.nano-editor.org Licence : GPLv3+ Description : GNU nano is a small and friendly text editor.
4- Mettre à jour un package :
[root@http1 ~]# dnf update net-tools Dernière vérification de l’expiration des métadonnées effectuée il y a 0:11:56 le dim. 07 juin 2020 02:07:42 WEST. Dépendances résolues. Rien à faire. Terminé !
Comme vous pouvez le constater, mon package net-tools est déja à jour.
5-Vérification des mis jours pour un package
Si vous souhaitez savoir si’il y a des mis à jours pour un des package installé, il vous suffit de taper la commande ci-dessous :
[root@srv ~]# dnf list python-firewall.noarch Dernière vérification de l’expiration des métadonnées effectuée il y a 0:29:38 le dim. 07 juin 2020 02:07:42 WEST. Paquets installés python-firewall.noarch 0.5.3-5.el7 @System Paquets disponibles python-firewall.noarch 0.6.3-8.el7_8.1 updates
@system indique le package actuelle alors que updates indique le nouveau package disponible sur le dépôt.
Et si vous souhaitez vérifier la présence des mis à jours de tous les packages installés, utiliser la commande suivante:
[root@srv ~]# dnf check-update
6-Pour mettre à jours tous les packages :
[root@srv ~]# dnf update [root@srv ~]# dnf upgrade
7- Télécharger un package sans l’installer:
[root@srv ~]# dnf download nano
8- Supprimer un package :
[root@http1 ~]# dnf remove net-tools Dépendances résolues. ========================================================================================================================================================================= Paquet Architecture Version Dépôt Taille ========================================================================================================================================================================= Suppression: net-tools x86_64 2.0-0.25.20131004git.el7 @System 917 k Supprimer des paquets dépendants: mysql-community-server x86_64 8.0.20-1.el7 @System 2.2 G Résumé de la transaction ========================================================================================================================================================================= Supprimer 2 Paquets Espace libéré : 2.2 G Voulez-vous continuer ? [o/N] :
7zip: 9 Commandes utiles de les plus utilisés
Migrer CentOS 7 vers Rocky Linux 9
nmtui : Configurer une adresse IP sous Linux
Comment installer Docker sur Rocky Linux 9
Fail2Ban : How to protect Linux services