Dnf est le gestionnaire de paquets de haut niveau par défaut de la famille de distributions Red Hat, qui comprend Fedora, Red Hat Enterprise Linux et tous ses clones. C'est le successeur de Yum, et en effet l'utilisation de la commande yum dans les versions récentes des distributions mentionnées ci-dessus, n'est qu'une autre façon d'appeler dnf. Dnf possède de nombreuses fonctionnalités
et plugins intéressants qui nous aident à installer, mettre à jour et supprimer des logiciels au format « .rpm ». Dans ce didacticiel, nous explorons les groupes de packages dnf et apprenons à les gérer.
Dans ce didacticiel, vous apprendrez :
- Qu'est-ce qu'un groupe de packages
- Comment obtenir des informations sur un groupe de packages
- Comment répertorier tous les groupes de packages disponibles
- Comment installer, mettre à niveau et supprimer un groupe de packages

Configuration logicielle requise et conventions utilisées
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | Distributions qui utilisent dnf comme gestionnaire de paquets |
Logiciel | dnf |
Autre | Aucun |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo command$ - nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
Qu'est-ce qu'un groupe de packages ?
Commençons par définir ce qu'est un groupe de packages. Un groupe de packages est essentiellement un package "virtuel". Ici, nous l'appelons "virtuel" car il ne fournit pas de logiciel spécifique en soi, mais il fait référence à d'autres packages "réels". Nous pouvons
utiliser des groupes de packages pour installer un "ensemble" de packages avec une seule commande. Supposons, par exemple, que nous devions installer les packages nécessaires pour fonctionner avec les machines virtuelles kvm sur Fedora :au lieu d'installer chaque package individuellement, nous pouvons simplement installer le groupe de packages "virtualisation", ce qui entraînera l'installation de tous les logiciels nécessaires sur notre système. .
Obtenir des informations sur un groupe de packages
Avant d'installer un groupe de packages, nous souhaitons peut-être voir quels packages seront intégrés par celui-ci. Pour accomplir cette tâche, il suffit d'utiliser les dnf group info
commande, en passant le nom du groupe de packages que nous voulons inspecter comme argument. Pour voir ce que le @virtualization
les groupes de packages contiennent, par exemple, nous lancerions :
$ dnf group info virtualization
Voici le résultat de la commande ci-dessus sur un système Fedora 34 :
Group: Virtualization Description: These packages provide a graphical virtualization environment. Mandatory Packages: virt-install Default Packages: libvirt-daemon-config-network libvirt-daemon-kvm qemu-kvm virt-manager virt-viewer Optional Packages: libguestfs-tools python3-libguestfs virt-top
Nous pouvons augmenter la verbosité de la commande et recevoir des informations plus détaillées en l'invoquant avec le -v
(abréviation de --verbose
) :
Group: Virtualization Group-Id: virtualization Description: These packages provide a graphical virtualization environment. Mandatory Packages: virt-install-3.2.0-3.fc34.noarch @System Default Packages: libvirt-daemon-config-network-7.0.0-4.fc34.x86_64 @System libvirt-daemon-kvm-7.0.0-4.fc34.x86_64 @System qemu-kvm-2:5.2.0-7.fc34.x86_64 @System virt-manager-3.2.0-3.fc34.noarch @System virt-viewer-9.0-3.fc34.x86_64 @System Optional Packages: libguestfs-tools python3-libguestfs-1:1.45.4-1.fc34.x86_64 updates virt-top-1.0.9-17.fc34.x86_64 fedora
La première chose que nous pouvons remarquer dans la sortie est le nom et l'identifiant du groupe de packages, dans ce cas « Virtualisation » et « virtualisation », respectivement. Après eux, nous pouvons lire une brève description du groupe de packages et de son objectif,
et enfin la liste réelle des packages qu'il contient. Nous pouvons voir que les packages sont divisés en trois sections principales :
- Obligatoire
- Par défaut
- Facultatif
Les packages marqués comme "Obligatoire" et "Par défaut" seront toujours être installé, tandis que ceux marqués comme "Facultatif" ne seront installés que s'ils sont spécifiés. Par souci d'exhaustivité, nous devons mentionner qu'une autre section existe, qui n'est pas utilisée dans ce cas :Conditionnel . Les packages qui font partie de la section "Conditionnel" ne sont installés que si les packages dont ils ont besoin sont déjà installés.
Dans certains cas, certains packages faisant partie d'un groupe de packages peuvent déjà être présents dans le système. Lorsque nous exécutons les group info
commande avec le -v
option, comme nous l'avons fait ci-dessus, les packages qui font partie du groupe et qui ne sont pas déjà installés seront facilement distinguables, car ils seront mis en évidence dans la liste. Voici le résultat de la dnf -v group info virtualization
commande après le virt-viewer
package a été installé singulièrement :

dnf -v group info virtualization
sortie de commande Répertorier tous les groupes de packages disponibles
Pour lister tous les groupes de packages disponibles dans les dépôts de notre distribution, il suffit de lancer la commande suivante :
$ dnf group list
La commande ci-dessus renvoie la liste de tous les groupes connus. On peut cependant ajouter une série d'options pour modifier son comportement. Par défaut, les soi-disant groupes masqués ne sont pas inclus dans la liste. Pour les faire apparaître, il suffit
d'ajouter le --hidden
choix :
$ dnf group list --hidden
Si nous voulons seulement obtenir la liste de tous les éléments installés groupes de packages, à la place, nous pouvons utiliser le --installed
choix :
$ dnf group list --installed
Installer, mettre à niveau et supprimer un groupe de packages
Alors, comment pouvons-nous installer un groupe de packages ? Il existe deux manières principales :nous pouvons spécifier le nom du package préfixé par le @
ou utilisez le symbole dnf group install
commande, comme nous l'avons déjà vu. Les commandes ci-dessous sont équivalentes :
$ sudo dnf install @virtualization
$ sudo dnf group install virtualization
Comme nous l'avons déjà dit, seuls les packages "obligatoires" et "par défaut" sont installés par défaut. Ce comportement par défaut, cependant, peut être modifié en utilisant le group_package_types
dnf, soit depuis la ligne de commande, soit dans le fichier de configuration dnf
. Faisons un exemple. Supposons que nous voulions installer uniquement les packages qui font partie de la section "Obligatoire" d'un groupe de packages, nous pourrions exécuter la commande suivante :
$ sudo dnf --setopt=group_package_types="mandatory" group install Virtualization
Si nous ne voulons pas spécifier l'option à chaque fois que nous exécutons une commande, nous pouvons la définir de manière permanente dans le fichier de configuration dnf, /etc/dnf/dnf.conf
:
[main] # Install only Mandatory packages from package groups group_package_types=mandatory
Si nous voulons simplement inclure les packages inclus dans la section "Facultatif" d'un groupe de packages, nous pouvons également simplement ajouter le --with-optional
indicateur de ligne de commande lors de l'installation d'un groupe de packages :
$ sudo dnf group install --with-optional virtualization
Nous pouvons également avoir la possibilité de mettre à niveau un groupe de packages. Lorsque nous le faisons, tous les packages qui font partie du groupe seront mis à jour avec le groupe de packages lui-même :cela pourrait potentiellement entraîner l'installation de nouveaux packages
s'ils ont été ajoutés au groupe, ou supprimés s'ils ne le sont pas font plus partie d'un groupe et n'ont pas été explicitement installés par l'utilisateur. Pour mettre à niveau un groupe de packages, nous utilisons le group upgrade
commande, ainsi, par exemple,
pour mettre à niveau le package « Virtualisation », nous exécuterions :
$ sudo dnf group upgrade virtualization
Dnf fournit également une commande pour supprimer un groupe de packages installés :group remove
. La commande supprimera tous packages qui font partie d'un groupe du système d'exploitation, à l'exception de ceux qui font partie d'un autre groupe de packages ou de ceux explicitement installés par l'utilisateur. Pour supprimer le groupe de packages "Virtualisation", nous exécuterions :
$ sudo dnf group remove virtualization
Conclusion
Dans ce didacticiel, nous avons découvert les groupes de packages. Nous avons vu comment obtenir des informations sur un groupe de packages spécifique dans les distributions qui utilisent dnf comme gestionnaire de packages, telles que Fedora et Rhel, comment les packages membres d'un groupe de packages sont divisés en sections, lesquelles sont installées par défaut, et comment nous pouvons modifier ce
comportement. Enfin, nous avons appris à installer, mettre à niveau et supprimer un groupe de packages.