Tout ce que vous devez savoir sur le gestionnaire de paquets DNF

DNF est un puissant gestionnaire de packages pour les distributions Linux basées sur RPM. Il permet de gérer les packages, d'installer des dépendances et de résoudre les conflits logiciels. Découvrez toutes les commandes et fonctionnalités essentielles de DNF ici.

Dandified Yum (DNF) est une interface puissante de gestion de packages pour les distributions Linux basées sur RPM. Ici, nous vous montrons tout ce que vous devez savoir sur le gestionnaire de packages DNF et les différentes commandes DNF que vous pouvez utiliser pour gérer vos packages.

Pourquoi utiliser le gestionnaire de packages DNF ?

De nombreuses distributions Linux, telles que Red Hat Enterprise Linux, CentOS Stream et Fedora Linux, disposent de leurs propres référentiels qui utilisent des fichiers RPM (RPM Package Manager) pour distribuer des programmes, de la documentation et des bibliothèques. Il s'agit d'un format d'archive compressée qui peut exécuter des scripts, vérifier son contenu interne et stocker les métadonnées du package.

L'un des inconvénients de RPM est qu'il ne peut pas installer un package à moins que ses prérequis ne soient présents sur le système. DNF comble cette lacune en récupérant les dépendances requises pour votre package et en résolvant les éventuels conflits logiciels lors de l'installation.

En plus de cela, DNF propose également des outils supplémentaires pour installer et gérer des packages sur votre système. Il permet notamment d'ajouter des référentiels externes, de rechercher du contenu distant, ainsi que de prendre en charge la gestion et le retour en arrière du système.

Bon à savoir : découvrez-en plus sur d'autres distributions Linux basées sur RPM en comparant AlmaLinux à Rocky Linux.

Installation de packages avec DNF

L'installation de packages est la fonction fondamentale de tout gestionnaire de packages. Pour installer un package distant avec DNF, exécutez la commande dnf install suivie du nom du package :

sudo dnf install nano

La sous-commande install dispose de plusieurs options qui vous permettent de modifier son comportement par défaut. Par exemple, vous pouvez inclure l'option --setopt=install_weak_deps=False pour ignorer les "dépendances faibles" lors de l'installation d'un programme.

Astuce : Vous souhaitez sécuriser votre installation Linux ? Apprenez comment chiffrer un fichier dans Linux avec Tomb.

Téléchargement et installation de fichiers RPM avec DNF

DNF peut également télécharger des packages .rpm depuis votre référentiel amont. Cela peut être utile si vous configurez une machine hors ligne et que vous souhaitez y charger des packages RPM.

sudo dnf download emacs

Vous pouvez même utiliser la sous-commande install sur votre fichier .rpm pour l'installer sur votre machine. Cela vous permettra de bénéficier de la résolution des dépendances pour vos packages non issus des référentiels.

sudo dnf install ~/votre-package.rpm

Réinstallation de packages existants

De plus, DNF peut réinstaller de force des programmes sur votre machine actuelle. Cela peut être utile si vous rencontrez un problème avec un package existant et que vous voulez vous assurer de l'avoir installé correctement.

sudo dnf reinstall nano

La sous-commande reinstall accepte également plusieurs options facultatives qui modifient son comportement. Par exemple, l'option --allowerasing supprime tout conflit de dépendance potentiel dès que vous réinstallez votre programme.

Astuce : apprenez comment résoudre les problèmes d'installation de packages cassés dans Linux.

Gestion des groupes de packages avec DNF

Les groupes de packages sont une fonctionnalité unique de DNF pour installer des programmes liés à un thème ou à un outil. Cela peut être utile si vous souhaitez configurer une configuration de bureau cohérente ou gérer des collections de logiciels.

Pour consulter les groupes de packages disponibles pour votre système, exécutez la commande suivante :

dnf group list

Vous pouvez vérifier le contenu d'un groupe de packages en exécutant l'argument info après la sous-commande group. Par exemple, en exécutant dnf groups info Editors, vous obtiendrez une brève description du groupe et des packages qu'il installera.

Installation et suppression de groupes de packages

La sous-commande group gère également son propre processus d'installation. Exécutez la sous-commande group avec l'argument install, puis indiquez le nom du groupe que vous souhaitez installer sur votre système :

sudo dnf group install Editors

Pour supprimer un groupe de packages entier, remplacez l'argument install par remove, suivi du nom du groupe que vous souhaitez supprimer :

sudo dnf group remove Editors

Recherche de packages disponibles

Une fonctionnalité importante de tout gestionnaire de packages est sa capacité à rechercher des programmes disponibles dans des référentiels distants. Pour cela, utilisez la sous-commande search de DNF :

dnf search nano

Par défaut, DNF cherche votre requête de recherche tant dans le nom du package distant que dans son résumé. Vous pouvez modifier ce comportement à.include all the available metadata fields by adding the --all flag:

dnf search --all nano

Recherche avancée de paquets dans DNF

En plus de "search", DNF est également livré avec la sous-commande repoquery qui vous permet de rechercher des paquets et de les imprimer au format "NEVRA". Cela est utile si vous créez un script qui installera des paquets spécifiques en utilisant DNF et RPM.

La commande suivante imprime tous les paquets "emacs" disponibles pour Fedora 40 au format NEVRA:

dnf repoquery emacs

En plus de cela, la sous-commande repoquery prend des drapeaux de filtre supplémentaires que vous pouvez utiliser pour affiner vos recherches de paquets. Par exemple, le drapeau --installed ne montrera que les paquets installés sur votre machine et le drapeau --depends imprimera les dépendances de ce paquet:

dnf repoquery --installed --depends emacs

Récupération des listes de paquets dans DNF

La sous-commande list est un moyen flexible de parcourir les paquets DNF disponibles à partir de votre machine locale et des dépôts distants. Par exemple, la commande suivante liste tous les paquets installés sur votre système.

dnf list --installed

Tout comme repoquery, la sous-commande list peut prendre des drapeaux de filtre supplémentaires, tels que --recent, qui imprimeront les paquets les plus récents disponibles sur vos dépôts distants.

dnf list --recent

De plus, la sous-commande list peut également être un outil pratique pour vérifier rapidement les mises à jour disponibles pour votre système:

dnf list --upgrades

Cette fonctionnalité s'étend également aux sous-commandes axées sur la maintenance de DNF. Par exemple, le drapeau --autoremove liste toutes les dépendances inutilisées du système:

dnf list --autoremove

Mise à niveau des paquets système

Avec DNF, vous pouvez mettre à niveau tous les paquets installés avec une seule sous-commande: upgrade. Cela signifie que la mise à niveau du système signifie toujours que vous obtiendrez la dernière version disponible de vos paquets:

sudo dnf upgrade

Si vous souhaitez simplement vérifier les mises à jour, utilisez plutôt la sous-commande check-update:

sudo dnf check-update

Exécution de mises à niveau minimales du système

En dehors de cela, DNF peut réaliser des "mises à niveau conservatrices" où il installera uniquement les correctifs de sécurité et de bogues pour les programmes existants. Cela est utile lorsque vous exécutez un service critique et que vous ne souhaitez pas introduire de modifications susceptibles de provoquer des erreurs:

sudo dnf upgrade-minimal

PS: apprenez comment protéger vos données contre les acteurs malveillants en installant certaines des meilleures distributions Linux-libre aujourd'hui.

Mise à niveau et rétrogradation de paquets individuels

Cela dit, vous pouvez mettre à niveau des paquets individuels en fournissant leur nom après la sous-commande upgrade. Par exemple, la commande suivante met à jour GNU Emacs en version 29.3 dans Fedora 40:

sudo dnf upgrade emacs-1:29.3-6.fc40.x86_64

D'autre part, DNF prend également en charge la rétrogradation des paquets à condition qu'une version inférieure existe dans un dépôt distant actif:

sudo dnf downgrade emacs

Remarque: L'exécution de la sous-commande downgrade réduira le numéro de version de tout paquet qui est une dépendance dure pour votre programme.

Utilisation des avis de sécurité pour mettre à niveau les paquets

Les avis de sécurité sont un élément vital pour rester à jour avec les dernières vulnérabilités logicielles. À cette fin, DNF propose les drapeaux --advisory et --cve qui acceptent les codes d'avis de sécurité Fedora et les numéros d'identifiant CVE.

Par exemple, la commande suivante met à niveau la bibliothèque xz dans un système Fedora 40 pour résoudre une vulnérabilité de sécurité grave:

sudo dnf upgrade --refresh --advisory=FEDORA-2024-d02c7bb266

Désinstallation des paquets système en utilisant DNF

Pour désinstaller des paquets, la sous-commande remove supprimera les paquets de votre système:

sudo dnf remove nano

Tout comme Debian et Ubuntu, DNF fournit une sous-commande pour supprimer les fichiers de dépendance "hanging". Pour supprimer ces paquets inutiles de votre machine, exécutez la commande suivante:

sudo dnf autoremove

Suppression des métadonnées de paquets et de dépôts

En plus des dépendances inutiles, DNF crée également des métadonnées supplémentaires et des fichiers de cache lorsque vous installez ou modifiez un paquet. Cela peut poser un problème si vous souhaitez économiser de l'espace sur un stockage limité.

Pour résoudre ce problème, exécutez la sous-commande "clean" suivie de "all" :

sudo dnf clean all

La sous-commande "clean" peut également supprimer des fichiers de cache spécifiques au lieu de tout supprimer en une seule fois. Par exemple, vous pouvez exécuter `dnf clean` avec l'argument "packages" pour supprimer tous les fichiers de packages mis en cache sans supprimer les métadonnées :

sudo dnf clean packages

En plus de "all" et "packages", "dnf clean" accepte également "dbcache", "expire-cache" et "metadata". Le premier efface les métadonnées mises en cache, le deuxième force une vérification de validation du cache, et le troisième supprime complètement les métadonnées.

Bon à savoir : apprenez certaines des meilleures façons de supprimer en toute sécurité des fichiers sous Linux.

## Annuler les modifications système dans DNF

Une autre fonctionnalité clé de DNF est sa capacité à parcourir l'historique de son propre gestionnaire de paquets et à annuler les modifications qu'il a apportées au système. Cela peut être utile si vous avez fait une erreur lors de la configuration de votre machine et que vous souhaitez revenir à un état précédent propre.

Pour commencer, affichez le journal actuel de l'historique de votre système :

dnf history

Trouvez un point dans votre système où vous souhaitez revenir en arrière. Dans mon cas, je vais sélectionner un point juste avant l'installation d'Emacs.

Obtenez le numéro d'identification de votre point de transaction, puis exécutez la commande suivante pour commencer la restauration en arrière :

sudo dnf history rollback NUMÉRO-ID

Confirmez que DNF a bien ramené votre système à votre point de transaction en exécutant `dnf history`.

Vous pouvez également supprimer des transactions individuelles en utilisant l'argument "undo". Par exemple, la commande suivante supprime Emacs de mon système mais ne touche pas mon installation ultérieure de NodeJS :

sudo dnf history undo NUMERO-ID

Note : L'argument "undo" fait l'inverse de la commande de transaction dans `dnf history`. Cela signifie que vous pouvez exécuter `dnf history undo` sur une commande `dnf remove` pour réinstaller un ancien package.

## Analyse des packages système existants

Le gestionnaire de paquets DNF fournit également des outils et des indicateurs pour analyser les packages RPM des référentiels locaux et distants. Par exemple, la commande `dnf info` affiche un résumé détaillé de n'importe quel fichier RPM :

dnf info nano

En plus de lire les détails d'un package, vous pouvez également utiliser DNF pour vérifier d'où provient un fichier de configuration particulier ou un binaire. Pour cela, exécutez la sous-commande "provides" suivie du chemin absolu du fichier que vous vérifiez :

dnf provides /usr/bin/less

## Gestion des référentiels dans DNF

Les référentiels sont l'élément vital de chaque gestionnaire de paquets. Ils servent de source de nouveaux packages et de mises à jour pour votre machine. À cet égard, DNF propose également de nombreux outils pour gérer les référentiels, y compris la possibilité de les ajouter, de les supprimer et de les activer ou désactiver à volonté.

Pour ajouter un nouveau référentiel à DNF, exécutez la sous-commande "config-manager" avec le drapeau "--add-repo" suivi de l'URL de votre référentiel tiers. Par exemple, la commande suivante ajoutera le référentiel Tailscale à votre système Fedora :

sudo dnf config-manager --add-repo=https://pkgs.tailscale.com/stable/fedora/tailscale.repo

Vous pouvez lister tous les référentiels actifs ainsi que leur ID de référentiel dans votre système en exécutant : `dnf repolist --enabled`.

Pour désactiver un référentiel actif, exécutez `config-manager` avec le drapeau `--disable` suivi de l'ID du référentiel que vous souhaitez désactiver :

sudo dnf config-manager --disable tailscale-stable

Note : Vous pouvez réactiver un référentiel désactivé en utilisant le drapeau `--enable` avec l'ID du référentiel désactivé.

### Suppression d'un référentiel actif dans DNF

Commencez par exécuter la commande suivante pour lister tous les référentiels disponibles dans le système, ainsi que leurs chemins de fichiers :

grep -E "^\[.*]" /etc/yum.repos.d/*

Trouvez le référentiel que vous souhaitez supprimer dans la liste, puis copiez-le dans votre presse-papiers. Dans mon cas, je vais supprimer le référentiel Tailscale DNF de ma machine.

Supprimez le fichier ".repo" de votre système en exécutant `sudo rm` suivi du chemin du fichier dans votre presse-papiers.

Exécutez `sudo dnf check-update` pour actualiser les listes de référentiels de votre machine.

Apprendre les bases de DNF est seulement la première étape pour comprendre le monde complexe des packages.Managers experts en Linux. Découvrez davantage de cet écosystème diversifié en consultant notre guide complet des gestionnaires de paquets Linux.

.

Questions et réponses que vous devez connaître

Quel est le rôle du gestionnaire de paquets dans un système Linux ?

Le rôle du gestionnaire de paquets dans un système Linux est d'automatiser le processus d'installation, désinstallation et mise à jour des logiciels installés sur le système. Cela facilite la gestion des logiciels et permet aux utilisateurs de récupérer les dernières versions des applications de manière plus rapide et efficace.

C'est quoi le DNF ?

Le DNF peut être utilisé pour désigner deux choses différentes. Dans le contexte des compétitions sportives, il fait référence à 'Did not finish', ce qui signifie que la personne n'a pas réussi à terminer l'épreuve. C'est souvent utilisé pour les athlètes qui abandonnent pendant la course. D'autre part, le DNF fait également référence au 'Département de la nature et des forêts' en Belgique. Il s'agit d'une administration du Service public de Wallonie qui est responsable de la gestion et de la protection des forêts en Wallonie. En résumé, le DNF peut être utilisé pour désigner des participants qui n'ont pas terminé une épreuve sportive, ainsi que le Département de la nature et des forêts en Belgique.

Quel s gestionnaire s de paquets est sont utilisé s sur une distribution CentOS ?

Le gestionnaire de paquets utilisé sur une distribution CentOS est RPM Package Manager.

Quel est le gestionnaire de paquets utilisé par la distribution Linux Fedora ?

Le gestionnaire de paquets utilisé par la distribution Linux Fedora est DNF.

Maintenant que tu as fini de lire Tout ce que vous devez savoir sur le gestionnaire de paquets DNF, nous t'invitons à explorer davantage la catégorie Linux. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!

Index
  1. Pourquoi utiliser le gestionnaire de packages DNF ?
  2. Installation de packages avec DNF
    1. Téléchargement et installation de fichiers RPM avec DNF
    2. Réinstallation de packages existants
  3. Gestion des groupes de packages avec DNF
    1. Installation et suppression de groupes de packages
  4. Recherche de packages disponibles
    1. Recherche avancée de paquets dans DNF
  5. Récupération des listes de paquets dans DNF
  6. Mise à niveau des paquets système
    1. Exécution de mises à niveau minimales du système
    2. Mise à niveau et rétrogradation de paquets individuels
    3. Utilisation des avis de sécurité pour mettre à niveau les paquets
  7. Désinstallation des paquets système en utilisant DNF
    1. Suppression des métadonnées de paquets et de dépôts
  8. Questions et réponses que vous devez connaître
    1. Quel est le rôle du gestionnaire de paquets dans un système Linux ?
    2. C'est quoi le DNF ?
    3. Quel s gestionnaire s de paquets est sont utilisé s sur une distribution CentOS ?
    4. Quel est le gestionnaire de paquets utilisé par la distribution Linux Fedora ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Go up