GNU/Linux >> Tutoriels Linux >  >> Linux

Comment travailler avec les groupes de packages dnf

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

Comment travailler avec les groupes de packages dnf

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
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.


Linux
  1. Comment configurer Nginx pour travailler avec PHP via PHP-FPM

  2. Comment travailler avec des utilisateurs et des groupes sous Linux

  3. Comment faire en sorte que Vim fonctionne correctement avec Tmux ?

  4. Capturer des groupes avec Awk ou Grep ?

  5. Comment supprimer tous les packages avec DNF dont aucun autre package ne dépend

Comment convertir des packages Linux avec Alien

Comment créer un groupe de volumes sous Linux avec LVM

Comment travailler avec Ansible Provisioner dans Vagrant

Comment mettre à niveau Fedora 35 vers Fedora 36 avec GNOME 42

Modifier des groupes sous Linux avec la commande groupmod

Supprimer des groupes sous Linux avec la commande groupdel