GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples de commandes DNF pour les débutants

Ce tutoriel explique toutes les commandes de base pour ceux qui veulent savoir comment utiliser le gestionnaire de packages DNF. Comme vous le savez peut-être déjà, DNF est la version de nouvelle génération de YUM et c'est le gestionnaire de paquets par défaut depuis Fedora 22. Il est destiné à remplacer YUM dans les systèmes basés sur RPM tels que RHEL, CentOS. Par rapport à YUM, DNF présente des avantages significatifs, tels que la prise en charge de plusieurs référentiels, la prise en charge de groupes de packages, une vitesse de résolution des dépendances plus rapide et consomme moins de mémoire, s'exécute à la fois en Python 2 et Python 3, une documentation API solide, la compatibilité avec YUM et bien d'autres. /P>

Lecture recommandée :

  • Démarrer avec Pacman

Exemples de commandes DNF pour les débutants

Depuis Fedora 22, yum a été remplacé par DNF, vous n'avez donc pas besoin de l'installer si vous êtes sur Fedora. Sur CentOS 7 et RHEL 7, vous pouvez l'installer comme décrit dans le tutoriel ci-dessous.

  • Comment installer DNF sur CentOS 7

L'utilisation de DNF est très similaire à YUM. Toutes les commandes fournies ici ont été testées sur l'édition serveur minimale de CentOS 7 avec root utilisateur.

1. Obtenir de l'aide

Pour répertorier toutes les commandes principales, les commandes de plug-in et les options, exécutez :

# dnf help

Pour obtenir de l'aide sur une commande spécifique, par exemple "installer", exécutez :

# dnf help install

Pour connaître la version DNF actuellement installée, exécutez :

# dnf --version

2. Gestion des packages

Cette section explique l'installation, la mise à jour, la liste, la recherche, le téléchargement, la réinstallation et la suppression de packages.

Obtenir des informations sur le package

Pour obtenir les détails de tout package installé ou non installé, exécutez :

# dnf info vim

Installer des packages

Pour installer un nouveau package, par exemple vim , exécutez :

# dnf install vim

Nous pouvons également installer plusieurs packages comme ci-dessous.

# dnf install vim nano emacs

Vous devez taper "y" pour continuer l'installation. Si vous ne voulez pas le faire à chaque fois, vous pouvez inclure l'option "y" dans les commandes pour la confirmation automatique.

# dnf install vim nano emacs -y

Cela n'attendra pas la confirmation de l'utilisateur. Au lieu de cela, il installera simplement tous les packages automatiquement.

Forfaits de mise en vente

Pour répertorier tous les packages disponibles et installés :

# dnf list

Pour lister uniquement tous les packages installés, nous utilisons :

# dnf list installed

Pour lister uniquement les packages disponibles :

# dnf list available

Mise à jour des packages

Pour vérifier toutes les mises à jour disponibles, procédez comme suit :

# dnf check-update

Ou,

# dnf list updates

Pour mettre à jour un seul package (par exemple, bash), exécutez :

# dnf update bash

Pour voir s'il existe une mise à jour d'un package installé, exécutez :

# dnf list yum.noarch 
Using metadata from Sat Feb 10 14:47:22 2018
Installed Packages
yum.noarch 3.4.3-150.el7.centos @System
Available Packages
yum.noarch 3.4.3-154.el7.centos.1 update

Cette commande affichera la version actuellement installée et la mise à jour disponible à partir du référentiel. Dans la sortie ci-dessus, @system spécifie la version installée et la mise à jour spécifie la mise à jour disponible à partir du référentiel.

Pour mettre à jour plusieurs packages :

# dnf update package1 package2

Passez l'option "y" pour la confirmation automatique.

# dnf update package1 package2 -y

Pour mettre à jour/mettre à niveau tous les packages, exécutez :

# dnf update
# dnf upgrade

Pour synchroniser les packages installés avec les dernières versions disponibles :

# dnf distro-sync

Rechercher des packages

Pour rechercher un package dans le référentiel, exécutez :

# dnf search vim

Cette commande listera tous les packages qui correspondent au mot "vim".

Téléchargement de packages

Parfois, vous voudrez peut-être télécharger un package, mais vous ne voulez pas l'installer maintenant. Si c'est le cas, exécutez :

# dnf download vim

Cette commande téléchargera le package vim-enhanced-xx.xx.x.rpm, mais ne l'installera pas.

Pour installer le package téléchargé, exécutez :

# dnf install vim-enhanced-7.4.160-2.el7.x86_64.rpm

Toutes les autres dépendances requises seront téléchargées et installées à partir du référentiel.

Paquets de rétrogradation

Pour rétrograder un package que vous avez précédemment mis à jour, exécutez :

# dnf downgrade bash

Réinstaller les packages

Vous rencontrez des problèmes avec un package déjà installé ? Pas de soucis! Vous pouvez le réinstaller à tout moment.

Pour réinstaller un package, utilisez :

# dnf reinstall vim

Supprimer des packages

Pour supprimer un paquet (par exemple vim) du système, exécutez :

# dnf remove vim

Vous pouvez également utiliser l'option "effacer" comme ci-dessous.

# dnf erase vim

3. Groupes de packages

Un groupe de packages est un ensemble de packages qui servent un objectif commun, par exemple "Outils de développement" ou "Serveur Web". Lorsque vous installez un groupe de packages, tous les packages dépendants sont téléchargés et installés. L'installation de groupes vous fera gagner un temps considérable.

Installer des groupes de packages

Pour répertorier tous les groupes de packages disponibles, exécutez :

# dnf grouplist

Pour installer un groupe de packages, par exemple "Outils de développement", exécutez :

# dnf groupinstall 'Development Tools'

Cette commande installera tous les packages requis pour configurer un environnement de développement.

Mise à jour des groupes de packages

Pour mettre à jour un groupe de packages, exécutez :

# dnf groupupdate 'Development Tools'

Suppression de groupes de packages

Pour supprimer un groupe de packages, exécutez :

# dnf groupremove 'Development Tools'

4. Travailler avec les référentiels

Répertorier les référentiels installés

Par défaut, tous les référentiels seront ajoutés sous le répertoire /etc/yum.repos.d/ dans CentOS/RHEL. Vous pouvez répertorier les référentiels installés à l'aide de la commande :

# dnf repolist

La commande ci-dessus n'affichera que les référentiels activés. Pour afficher tous les référentiels (activés et désactivés), exécutez :

# dnf repolist all

Ajout de référentiels

Vous pouvez ajouter un référentiel en créant manuellement un fichier package.repo sous le répertoire /etc/yum.repos.d/. Cependant, DNF le rend encore plus facile.

Pour ajouter un nouveau référentiel, exécutez :

# dnf config-manager --add-repo repository_url

Exemple :

# dnf config-manager --add-repo http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/

Pour afficher le dépôt nouvellement ajouté, nous faisons :

# dnf repolist
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 115 kB/s | 3.5 MB 00:31 
Using metadata from Sat Feb 10 14:47:22 2018
repo id repo name status
base CentOS-7 - Base 9,591
epel Extra Packages for Enterprise Linux 7 - x86_64 12,278
extras CentOS-7 - Extras 388
springdale.math.ias.edu_data_puias_unsupported_7_x86_64_ created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupporte 2,760
updates CentOS-7 - Updates

Pour afficher le fichier .repo uniquement :

# cat /etc/yum.repos.d/springdale.math.ias.edu_data_puias_unsupported_7_x86_64_.repo 
[springdale.math.ias.edu_data_puias_unsupported_7_x86_64_]
name=created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
baseurl=http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
enabled=1

Activation des dépôts

Pour activer un référentiel, utilisez :

# dnf config-manager --set-enabled <repo-id>

Exemple :

# dnf config-manager --set-enabled epel

Nous pouvons vérifier en exécutant la commande suivante pour voir uniquement les référentiels activés.

# dnf repolist

De plus, nous pouvons combiner les options d'activation et d'installation comme ci-dessous.

# dnf config-manager --set-enabled epel install zsh

La commande ci-dessus active le référentiel EPEL et installe le package zsh.

Désactiver les dépôts

Pour désactiver un référentiel, par exemple EPEL, nous utilisons :

# dnf config-manager --set-disabled epel

Nous pouvons également combiner les options d'activation et de désactivation comme ci-dessous.

# dnf --enablerepo=epel --disablerepo=updates

La commande ci-dessus activera le référentiel EPEL et désactivera le référentiel des mises à jour.

5. Trouver ce qui fournit quelque chose

DNF vous permet de trouver quel package fournit une commande ou un fichier spécifique. Si vous ne vous souvenez pas exactement quel paquet fournit une commande particulière que vous vouliez utiliser, DNF peut vous aider.

Rechercher quel package fournit une commande spécifique

Il me manque la bonne vieille commande "ifconfig". Cette commande est obsolète et n'est pas disponible dans les versions récentes. Pour trouver quel package fournit cette gemme, exécutez :

# dnf provides */ifconfig

Exemple de résultat :

Using metadata from Thu Feb 8 15:52:17 2018
net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools
Repo : base

Ahh, oui ! net-tools package fournit cette commande. Vous pouvez donc installer ce package pour utiliser la commande ifconfig.

Rechercher quel package fournit un fichier

Laissez-nous vous voulez trouver quel paquet fournit /bin/ls dossier. Pour ce faire, exécutez :

# dnf provides */bin/ls
Using metadata from Thu Jun 30 12:51:16 2016
coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : @System

coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : base

Comme vous le voyez dans la sortie ci-dessus, coreutils le paquet fournit le fichier /bin/ls.

Lire aussi :

  • Comment trouver le package qui fournit un fichier spécifique sous Linux

6. Travailler avec l'historique DNF

En utilisant la commande "dnf history", nous pouvons voir toutes les actions que nous avons effectuées avec la commande DNF.

# dnf history
Using metadata from Sat Feb 10 14:47:22 2018
ID | Command line | Date a | Action | Altere
-------------------------------------------------------------------------------
 2 | update bash | 2018-02-10 14:55 | Update | 1 
 1 | install vim | 2018-02-10 14:51 | E, I | 33 EE

Comme vous le voyez dans la sortie ci-dessus, il y a eu deux transactions. J'ai installé un package nommé "vim" et mis à jour le package "bash". Les transactions les plus récentes apparaîtront en haut.

Pour afficher les détails d'une transaction spécifique, utilisez son ID comme ci-dessous.

# dnf history list 2

Nous pouvons également afficher les détails complets d'une transaction spécifique comme ci-dessous.

# dnf history info 2
Using metadata from Sat Feb 10 14:47:22 2018
Transaction ID : 2
Begin time : Sat Feb 10 14:55:38 2018
Begin rpmdb : 360:fa7bea798a10e850b2bf800182b377443b481652
End time : 14:55:39 2018 (1 seconds)
End rpmdb : 360:dc9f6bb33b00fe1d74dd205586c0ff8c4674f8f7
User : root <root>
Return-Code : Success
Command Line : update bash
Transaction performed with:
 Installed dnf-0.6.4-2.sdl7.noarch (unknown)
 Installed rpm-4.11.3-21.el7.x86_64 (unknown)
Packages Altered:
 Upgraded bash-4.2.46-21.el7_3.x86_64 (unknown)
 Upgrade 4.2.46-29.el7_4.x86_64 @updates

Comme vous le voyez, la transaction avec l'ID 2 a été utilisée pour mettre à jour le package nommé "bash". Nous pouvons annuler cette transaction à tout moment en utilisant la commande :

# dnf history undo 2

Pour rétablir la transaction "annuler" précédente, exécutez simplement :

# dnf history redo 2

7. Création d'un cache de métadonnées DNF

Le cache de métadonnées DNF sera automatiquement créé lors de l'installation et de la mise à jour des packages. Nous n'avons donc pas besoin de le construire manuellement. Cependant, DNF a une commande intégrée pour créer le cache afin d'accélérer les futures transactions.

Pour créer un cache de métadonnées, exécutez :

# dnf makecache
Extra Packages for Enterprise Linux 7 - x86_64 155 kB/s | 15 MB 01:35 
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 136 kB/s | 3.5 MB 00:26 
CentOS-7 - Base 195 kB/s | 9.5 MB 00:49 
CentOS-7 - Updates 240 kB/s | 7.9 MB 00:33 
CentOS-7 - Extras 84 kB/s | 820 kB 00:09 
Metadata cache created.

8. Nettoyer

Pour supprimer les packages indésirables/orphelins, exécutez :

# dnf autoremove

Pour supprimer tous les packages en cache, exécutez :

# dnf clean all

Au lieu de nettoyer complètement le cache, vous pouvez effectuer un nettoyage individuel des métadonnées, dbcache, packages, plugins, etc.

Pour supprimer les fichiers de cache générés à partir des métadonnées du référentiel :

# dnf clean dbcache

Cela oblige DNF à régénérer les fichiers de cache lors de sa prochaine exécution.

Pour supprimer les fichiers de cookies locaux indiquant quand les métadonnées et les listes miroirs ont été téléchargées pour chaque référentiel, exécutez :

# dnf clean expire-cache

DNF revalidera le cache pour chaque référentiel la prochaine fois qu'il sera utilisé.

Pour supprimer les métadonnées du référentiel :

# dnf clean metadata

L'utilisation de cette option obligera DNF à télécharger toutes les métadonnées lors de sa prochaine exécution.

Pour supprimer tous les packages en cache du système :

# dnf clean packages

La commande suivante indique à tous les plugins activés d'éliminer leurs données en cache.

# dnf clean plugins

Celles-ci sont juste suffisantes pour obtenir une utilisation de base de DNF sur Fedora, RHEL et CentOS. Pour plus de détails, reportez-vous aux pages de manuel.

$ man dnf

Linux
  1. 10 exemples de commandes 'rm' pour les débutants Linux

  2. Tutoriel de commande cd Linux pour les débutants (8 exemples)

  3. Commande Linux killall pour les débutants (8 exemples)

  4. 7 exemples de commandes Chmod pour les débutants

  5. Exemples de commandes dnf

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)

Commande de localisation Linux pour les débutants (8 exemples)

16 exemples pratiques de commande Linux LS pour les débutants

Explication de la commande Linux mv pour les débutants (8 exemples)