dnf
dnf

dnf, exemples des commandes à connaître

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] :