Installation de logiciels sous Red Hat Enterprise Linux

Red Hat Enterprise LinuxRed Hat Enterprise LinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous acquerrez une expérience pratique de la gestion des paquets logiciels sur les systèmes Red Hat Enterprise Linux (RHEL) à l'aide de DNF. Vous commencerez par comprendre la commande subscription-manager pour l'enregistrement de la prise en charge Red Hat, même dans un environnement simulé. Ensuite, vous explorerez comment récupérer et interpréter les informations sur les paquets RPM, puis vous maîtriserez l'installation et la suppression des paquets logiciels à l'aide de DNF.

De plus, ce laboratoire vous guidera dans la gestion des référentiels logiciels DNF, y compris l'ajout, l'activation et la désactivation. Enfin, vous apprendrez à consulter et à comprendre l'historique des transactions DNF, offrant une vue d'ensemble complète des opérations de gestion de paquets.

Remarque : Ce laboratoire nécessite une connectivité réseau pour télécharger les paquets et accéder aux référentiels. Il est uniquement disponible pour les utilisateurs LabEx Pro.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 92%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

Enregistrement de votre système pour la prise en charge Red Hat

Dans cette étape, vous apprendrez à enregistrer votre système pour la prise en charge Red Hat à l'aide de la commande subscription-manager. Bien qu'une souscription Red Hat complète ne soit pas disponible dans cet environnement simulé, la compréhension de la commande subscription-manager est essentielle pour la gestion des logiciels sur les systèmes Red Hat Enterprise Linux. Cette commande vous permet d'enregistrer votre système auprès de Red Hat, d'attacher des abonnements et d'accéder au réseau de distribution de contenu de Red Hat pour les paquets logiciels et les mises à jour.

Tout d'abord, essayons d'enregistrer le système en utilisant un nom d'utilisateur de substitution. Cela permettra de démontrer l'utilisation de la commande, même si l'enregistrement réel nécessite des identifiants Red Hat valides.

sudo subscription-manager register --username labex

Vous serez invité à saisir un mot de passe. Puisque ceci est un environnement simulé, vous pouvez saisir n'importe quel mot de passe, ou simplement appuyer sur Entrée si le système le permet. La commande ne réussira probablement pas à se connecter au service d'abonnement Red Hat, ce qui est attendu dans cet environnement de laboratoire. L'important est de comprendre la syntaxe de la commande et son utilisation prévue.

Enregistrement sur : subscription.rhsm.redhat.com:443/subscription
Mot de passe :
Nom d'utilisateur ou mot de passe incorrect. Pour créer un compte, veuillez visiter https://www.redhat.com/wapps/ugc/register.html (erreur HTTP 401 : Non autorisé)

Enfin, voyons comment afficher les abonnements consommés. Cette commande affiche les abonnements actuellement attachés à votre système.

sudo subscription-manager list --consumed

Puisque le système n'est pas enregistré, vous verrez un message indiquant qu'aucun abonnement consommé n'a été trouvé.

Aucun pool d'abonnement consommé n'a été trouvé.

Ensuite, explorons comment vous afficheriez généralement les abonnements disponibles pour votre compte Red Hat. Cette commande vous afficherait les différents pools d'abonnement associés à votre compte Red Hat.

sudo subscription-manager list --available

Puisque le système n'est pas encore enregistré, vous verrez un message d'erreur indiquant que l'enregistrement est requis en premier.

Ce système n'est pas encore enregistré. Essayez 'subscription-manager register --help' pour plus d'informations.

Cet exercice démontre l'utilisation de base de subscription-manager pour l'enregistrement et l'affichage des informations d'abonnement. Bien que les fonctionnalités complètes soient limitées dans cet environnement simulé, ces commandes sont fondamentales pour la gestion de l'accès aux logiciels sur les systèmes RHEL.

Explorer les informations sur les paquets RPM

Dans cette étape, vous apprendrez à utiliser la commande rpm pour examiner les paquets logiciels. RPM (Red Hat Package Manager) est le système de gestion de paquets principal utilisé par Red Hat Enterprise Linux. Bien que dnf (que vous explorerez plus tard) soit un outil de niveau supérieur pour gérer les paquets à partir de référentiels, rpm vous permet d'interroger, de vérifier, d'installer et de désinstaller des fichiers .rpm individuels.

Tout d'abord, listons tous les paquets RPM installés sur votre système. Cela peut générer une liste très longue, nous utiliserons donc head pour afficher uniquement le début.

rpm -qa | head

Vous verrez une liste de noms de paquets, de versions et d'architectures. Par exemple :

libgcc-11.4.1-3.el9.x86_64
crypto-policies-20240202-1.git283706d.el9.noarch
tzdata-2024a-1.el9.noarch
subscription-manager-rhsm-certificates-20220623-1.el9.noarch
redhat-release-9.4-0.4.el9.x86_64
setup-2.13.7-10.el9.noarch
filesystem-3.16-2.el9.x86_64
basesystem-11-13.el9.noarch
pcre2-syntax-10.40-5.el9.noarch
ncurses-base-6.2-10.20210508.el9.noarch

Ensuite, déterminons quel paquet fournit un fichier spécifique. Nous utiliserons /etc/yum.repos.d comme exemple, qui est un répertoire contenant les fichiers de configuration du référentiel DNF.

rpm -qf /etc/yum.repos.d

La sortie affichera le paquet propriétaire de ce répertoire.

redhat-release-9.4-0.4.el9.x86_64

Maintenant, obtenons des informations détaillées sur un paquet installé. Nous utiliserons le paquet dnf lui-même comme exemple.

rpm -qi dnf

Cette commande fournit de nombreuses informations, notamment le nom du paquet, la version, la version de publication, l'architecture, la taille, le résumé, l'URL, la licence et une description détaillée.

## ... (informations du paquet dnf) ...

Vous pouvez également lister tous les fichiers installés par un paquet. Cela peut être utile pour comprendre ce qu'un paquet place sur votre système.

rpm -ql dnf | head -n 10

Cela affichera les 10 premiers fichiers installés par le paquet dnf.

## ... (liste des fichiers) ...

Pour afficher uniquement les fichiers de configuration installés par un paquet, utilisez l'option -qc. Vérifions le paquet openssh-clients.

rpm -qc openssh-clients

Cela listera les fichiers de configuration liés aux clients SSH.

## ... (liste des fichiers de configuration) ...

Enfin, pour afficher les informations du journal des modifications d'un paquet, utilisez --changelog. Cela peut fournir des informations sur l'historique des mises à jour et des corrections d'un paquet. Regardons le paquet audit.

rpm -q --changelog audit | head -n 5

Si le paquet n'est pas installé, vous verrez un message d'erreur :

package audit is not installed

Vous pouvez essayer avec un paquet installé à la place. Par exemple, avec le paquet setup :

rpm -q --changelog setup | head -n 5

Ces commandes rpm sont des outils puissants pour comprendre les paquets installés sur votre système et les fichiers qu'ils contiennent.

Installation et suppression de paquets logiciels avec DNF

Dans cette étape, vous apprendrez à utiliser dnf (Dandified YUM) pour gérer les paquets logiciels. dnf est le gestionnaire de paquets par défaut dans Red Hat Enterprise Linux 9 et sert à installer, mettre à jour et supprimer des paquets logiciels, ainsi qu'à gérer les référentiels logiciels. Il gère automatiquement les dépendances, ce qui simplifie grandement la gestion des logiciels par rapport à l'utilisation de rpm seul.

Tout d'abord, listons tous les paquets disponibles et installés contenant "http" dans leur nom. Cela vous donnera une idée des paquets liés aux services HTTP.

dnf list 'http*'

Vous verrez une liste de paquets, indiquant s'ils sont installés ou disponibles pour l'installation.

## ... (sortie de la commande dnf list) ...

Maintenant, recherchons les paquets contenant "serveur web" dans leur nom, résumé ou description. L'option search all est utile pour une recherche plus large.

dnf search all 'web server'

Cette commande renverra une liste de paquets correspondant aux termes de recherche.

## ... (sortie de la commande dnf search) ...

Obtenons des informations détaillées sur le paquet httpd, qui est le serveur HTTP Apache.

dnf info httpd

Ceci affichera des détails complets sur le paquet, y compris sa taille, sa licence et sa description.

## ... (sortie de la commande dnf info) ...

Installons maintenant le paquet httpd. Vous aurez besoin de privilèges sudo pour cette opération.

sudo dnf install httpd -y

L'option -y répond automatiquement par "oui" à toutes les invites, ce qui est utile pour la programmation, mais utilisez-la avec prudence dans les environnements de production.

## ... (sortie de la commande dnf install) ...

Vérifions que httpd est installé en interrogeant rpm :

rpm -q httpd
## ... (sortie de la commande rpm -q) ...

Supprimons maintenant le paquet httpd.

sudo dnf remove httpd -y

Cela supprimera le paquet httpd et toutes les dépendances qui ne sont plus nécessaires par d'autres paquets installés.

## ... (sortie de la commande dnf remove) ...

Confirmons sa suppression :

rpm -q httpd
## ... (sortie de la commande rpm -q) ...

Ceci démontre les commandes de base dnf pour installer et supprimer des paquets logiciels.

Gestion des référentiels logiciels DNF

Dans cette étape, vous apprendrez à gérer les référentiels logiciels DNF. Les référentiels sont des emplacements où les paquets logiciels sont stockés et à partir desquels dnf les récupère. Comprendre comment lister, activer, désactiver et ajouter des référentiels est crucial pour contrôler les logiciels disponibles sur votre système.

Tout d'abord, listons tous les référentiels DNF configurés et leur statut (activé ou désactivé).

dnf repolist all

Vous verrez une liste d'identifiants de référentiel, de noms et de leur statut actuel.

## ... (sortie de la commande dnf repolist all) ...

La commande dnf config-manager est un outil puissant pour gérer les configurations des référentiels. Vous pouvez l'utiliser pour activer ou désactiver des référentiels. Par exemple, essayons d'activer un référentiel de débogage hypothétique. Bien que ce référentiel spécifique puisse ne pas exister ou ne pas être accessible dans cet environnement de laboratoire, la commande illustre la syntaxe.

sudo dnf config-manager --enable rhel-9-server-debug-rpms

Vous verrez des messages concernant la gestion des abonnements et une erreur indiquant que le référentiel n'est pas trouvé, ce qui est attendu dans cet environnement.

## ... (sortie de la commande dnf config-manager) ...

Essayons maintenant de désactiver un référentiel. Prenons rhel-9-for-x86_64-appstream-rpms comme exemple. Remarque : ce nom de référentiel spécifique n'existe pas dans cet environnement UBI, mais la commande illustre la syntaxe.

sudo dnf config-manager --disable rhel-9-for-x86_64-appstream-rpms

Vous verrez des messages concernant la gestion des abonnements et une erreur indiquant que le référentiel n'existe pas dans cet environnement.

## ... (sortie de la commande dnf config-manager) ...

Vérifions que ce nom de référentiel n'existe pas dans le système actuel :

dnf repolist all | grep rhel-9-for-x86_64-appstream-rpms

Comme prévu, il n'y aura aucune sortie, car ce référentiel n'existe pas dans l'environnement UBI.

(aucune sortie)

Essayons la même commande d'activation pour confirmer que le référentiel n'existe pas :

sudo dnf config-manager --enable rhel-9-for-x86_64-appstream-rpms

Encore une fois, vous verrez le même message d'erreur :

## ... (sortie de la commande dnf config-manager) ...

La commande dnf config-manager --add-repo peut également être utilisée pour ajouter de nouveaux référentiels en spécifiant une URL. À des fins de démonstration, nous allons essayer d'ajouter une URL de référentiel EPEL (Extra Packages for Enterprise Linux) courante. Bien que cela ne configure pas entièrement le référentiel (car il nécessite souvent une clé GPG et un fichier .repo spécifique), cela montre la capacité de la commande.

sudo dnf config-manager --add-repo="https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/"

Vous verrez une sortie indiquant qu'un nouveau fichier .repo a été créé.

## ... (sortie de la commande dnf config-manager) ...

Vous pouvez inspecter le nouveau fichier .repo dans /etc/yum.repos.d/. Le nom du fichier sera dérivé de l'URL.

ls /etc/yum.repos.d/

Vous devriez voir un fichier comme dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo avec les fichiers de référentiel existants.

## ... (sortie de la commande ls) ...

Enfin, supprimons le fichier de configuration du référentiel que nous venons d'ajouter pour nettoyer.

sudo rm /etc/yum.repos.d/dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo

Cette étape vous a montré comment lister, activer, désactiver et ajouter des référentiels DNF, compétences essentielles pour gérer les sources logicielles sur RHEL.

Afficher l'historique des transactions DNF

Dans cette étape, vous apprendrez à afficher l'historique des opérations DNF. dnf conserve un journal détaillé de toutes les installations, suppressions et mises à jour de paquets. Cet historique est précieux pour le dépannage, l'audit et même pour annuler les modifications si nécessaire.

Tout d'abord, affichons le résumé de toutes les transactions DNF qui ont eu lieu sur votre système.

sudo dnf history

Vous verrez un tableau listant chaque transaction avec un ID, la ligne de commande utilisée, la date et l'heure, l'action effectuée et le nombre de paquets modifiés.

ID     | Ligne de commande              | Date et heure    | Action(s)      | Modifié
--------------------------------------------------------------------------------
     3 | install httpd             | 2024-04-22 08:00 | Installation        |   10
     2 | remove httpd              | 2024-04-22 08:01 | Suppression         |    6
     1 |                           | 2024-04-22 07:50 | Installation        |  767 EE

La colonne ID est particulièrement importante, car elle permet de faire référence à des transactions spécifiques. Par exemple, si vous souhaitez afficher des informations détaillées sur une transaction spécifique, vous pouvez utiliser dnf history info <ID>. Examinons les détails de la dernière transaction (qui devrait être la suppression d'httpd de l'étape précédente). Vous pouvez trouver l'ID dans la sortie de dnf history. Dans l'exemple ci-dessus, c'est 2.

sudo dnf history info 2

Cette commande fournit une analyse complète de la transaction sélectionnée, y compris les paquets supprimés, leurs versions et la raison de l'action.

## ... (sortie de la commande dnf history info) ...

L'une des fonctionnalités les plus puissantes de l'historique DNF est la possibilité d'annuler ou de rejouer des transactions. Par exemple, pour annuler la suppression d'httpd, vous utiliseriez dnf history undo <ID>. Annulons la transaction de suppression d'httpd (en utilisant l'ID de votre sortie dnf history, par exemple, 2).

sudo dnf history undo 2 -y

Cette commande réinstallera le paquet httpd et ses dépendances qui ont été supprimés dans cette transaction spécifique.

## ... (sortie de la commande dnf history undo) ...

Vous pouvez vérifier que httpd est à nouveau installé :

rpm -q httpd
httpd-2.4.51-5.el9.x86_64

Enfin, supprimons à nouveau httpd pour laisser le système dans un état propre pour les futurs laboratoires.

sudo dnf remove httpd -y
## ... (sortie de la commande dnf remove) ...

Cette étape a démontré comment utiliser dnf history pour afficher, inspecter et même annuler les transactions DNF, offrant des capacités puissantes pour la gestion du système.

Résumé

Dans ce laboratoire, nous avons appris les compétences essentielles pour gérer les paquets logiciels sur Red Hat Enterprise Linux à l'aide de DNF. Nous avons commencé par comprendre la commande subscription-manager, essentielle pour enregistrer les systèmes auprès de Red Hat et accéder à leur réseau de distribution de contenu, même si une inscription complète n'était pas possible dans l'environnement simulé.

Par la suite, nous avons exploré comment interroger les informations sur les paquets RPM, installer et supprimer des logiciels à l'aide de DNF, gérer les référentiels logiciels DNF et afficher l'historique des transactions DNF. Ces étapes ont fourni une vue d'ensemble complète des capacités de DNF pour une gestion efficace des logiciels.