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 au support Red Hat, même dans un environnement simulé. Ensuite, vous explorerez comment récupérer et interpréter les informations des paquets RPM, puis vous maîtriserez l'installation et la suppression de paquets logiciels à l'aide de DNF.
De plus, ce laboratoire vous guidera dans la gestion des dépôts de logiciels DNF, notamment pour les ajouter, les activer et les désactiver. Enfin, vous apprendrez à consulter et à comprendre l'historique des transactions DNF, ce qui vous donnera une vue d'ensemble complète des opérations de gestion de paquets.
Remarque : Ce laboratoire nécessite une connexion réseau pour télécharger les paquets et accéder aux dépôts. Il est réservé aux utilisateurs de LabEx Pro.
Enregistrer votre système pour le support Red Hat
Dans cette étape, vous apprendrez à enregistrer votre système pour le support Red Hat à l'aide de la commande subscription-manager. Bien qu'un abonnement Red Hat complet ne soit pas disponible dans cet environnement simulé, comprendre la commande subscription-manager est crucial pour gérer les 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 diffusion de contenu (CDN) 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 fictif. Cela démontrera 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 --password labex 2>&1 | tee ~/project/subscription-register.txt
Ce laboratoire utilise des identifiants fictifs afin que la commande puisse s'exécuter de manière non interactive. La commande échouera lors de l'authentification, ce qui est attendu dans cet environnement, et la sortie est enregistrée dans ~/project/subscription-register.txt pour examen.
Registering to: subscription.rhsm.redhat.com:443/subscription
Password:
Invalid username or password. To create a login, please visit https://www.redhat.com/wapps/ugc/register.html (HTTP error code 401: Unauthorized)
Enfin, voyons quels dépôts seraient disponibles via les abonnements Red Hat sur un système enregistré.
sudo subscription-manager repos --list 2>&1 | tee ~/project/subscription-repos.txt
Comme le système n'est pas enregistré, vous verrez un message indiquant qu'aucun dépôt lié à un abonnement n'est disponible.
This system has no repositories available through subscriptions.
Ensuite, vérifions le statut actuel de l'abonnement pour ce système. C'est un moyen pratique de confirmer que le système n'est pas encore enregistré avant de travailler avec le contenu des abonnements Red Hat.
sudo subscription-manager status 2>&1 | tee ~/project/subscription-status.txt
Comme le système n'est pas encore enregistré, la commande rapportera ce statut directement.
+-------------------------------------------+
System Status Details
+-------------------------------------------+
Overall Status: Not registered
Cet exercice démontre l'utilisation de base de subscription-manager pour l'enregistrement et les vérifications de statut. Bien que les fonctionnalités complètes soient limitées dans cet environnement simulé, ces commandes sont fondamentales pour comprendre 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 haut niveau pour gérer les paquets à partir de dépôts, 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 très longue liste, nous allons donc rediriger la sortie vers head pour ne voir que le début.
rpm -qa | head > ~/project/rpm-installed.txt
cat ~/project/rpm-installed.txt
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, trouvons 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 des dépôts DNF.
rpm -qf /etc/yum.repos.d
La sortie vous montrera le paquet qui possède ce répertoire.
redhat-release-9.4-0.4.el9.x86_64
Maintenant, obtenons des informations détaillées sur le paquet qui fournit la commande dnf.
DNF_PACKAGE=$(rpm -qf /usr/bin/dnf)
rpm -qi "$DNF_PACKAGE" > ~/project/dnf-package-info.txt
cat ~/project/dnf-package-info.txt
Ces commandes identifient d'abord quel RPM possède /usr/bin/dnf, puis affichent les métadonnées détaillées du paquet, y compris la version, la version de publication, l'architecture, la licence et le résumé.
Name : dnf
Version : 4.14.0
Release : 9.el9
Architecture: noarch
Install Date: Thu Jul 18 15:50:10 2024
Group : Unspecified
Size : 2425281
License : GPLv2+
Signature : RSA/SHA256, Fri Nov 10 10:14:09 2023, Key ID 199e2f91fd431d51
Source RPM : dnf-4.14.0-9.el9.src.rpm
Build Date : Thu Oct 26 05:20:14 2023
Build Host : x86-64-01.build.eng.rdu2.redhat.com
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
URL : https://github.com/rpm-software-management/dnf
Summary : Package manager
Description :
Utility that allows users to manage packages on their systems.
It supports RPMs, modules and comps groups & environments.
Vous pouvez également lister tous les fichiers installés par un paquet. Cela peut être utile pour comprendre ce qu'un paquet installe sur votre système.
rpm -ql dnf | head -n 10
Cela affichera les 10 premiers fichiers installés par le paquet dnf.
/usr/bin/dnf
/usr/lib/systemd/system/dnf-makecache.service
/usr/lib/systemd/system/dnf-makecache.timer
/usr/share/bash-completion
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/dnf
/usr/share/locale/ar/LC_MESSAGES/dnf.mo
/usr/share/locale/bg/LC_MESSAGES/dnf.mo
/usr/share/locale/bn/LC_MESSAGES/dnf.mo
/usr/share/locale/bn_IN/LC_MESSAGES/dnf.mo
Pour voir 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.
/etc/ssh/ssh_config
/etc/ssh/ssh_config.d/50-redhat.conf
Enfin, pour voir les informations du journal des modifications (changelog) d'un paquet, utilisez --changelog. Cela peut fournir des informations sur l'historique des mises à jour et des correctifs 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.
Installer et supprimer des 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 est utilisé pour installer, mettre à jour et supprimer des paquets logiciels, ainsi que pour gérer les dépôts de logiciels. Il gère automatiquement les dépendances, ce qui rend la gestion des logiciels beaucoup plus facile qu'avec rpm seul.
Tout d'abord, listons tous les paquets disponibles et installés qui contiennent "http" dans leur nom. Cela vous donnera une idée des paquets liés aux services HTTP.
sudo dnf list 'http*'
Vous verrez une liste de paquets, indiquant s'ils sont installés ou disponibles pour l'installation.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
Available Packages
http-parser.i686 2.9.4-6.el9 rhel-9-for-x86_64-appstream-rpms
http-parser.x86_64 2.9.4-6.el9 rhel-9-for-x86_64-appstream-rpms
httpcomponents-client.noarch 4.5.13-2.el9 rhel-9-for-x86_64-appstream-rpms
httpcomponents-core.noarch 4.4.13-6.el9 rhel-9-for-x86_64-appstream-rpms
httpd.x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
httpd-devel.x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
httpd-filesystem.noarch 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
httpd-manual.noarch 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
httpd-tools.x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
Maintenant, recherchons les paquets qui contiennent "web server" dans leur nom, leur résumé ou leur description. L'option search all est utile pour une recherche plus large.
sudo dnf search all 'web server'
Cette commande renverra une liste de paquets correspondant aux termes de recherche.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
================== Summary & Description Matched: web server ===================
nginx.x86_64 : A high performance web server and reverse proxy server
pcp-pmda-weblog.x86_64 : Performance Co-Pilot (PCP) metrics from web server logs
========================= Summary Matched: web server ==========================
libcurl.x86_64 : A library for getting files from web servers
libcurl.i686 : A library for getting files from web servers
======================= Description Matched: web server ========================
freeradius.x86_64 : High-performance and highly configurable free RADIUS server
git-instaweb.noarch : Repository browser in gitweb
http-parser.i686 : HTTP request/response parser for C
http-parser.x86_64 : HTTP request/response parser for C
httpd.x86_64 : Apache HTTP Server
mod_auth_openidc.x86_64 : OpenID Connect auth module for Apache HTTP Server
mod_jk.x86_64 : Tomcat mod_jk connector for Apache
mod_security.x86_64 : Security module for the Apache HTTP Server
varnish.i686 : High-performance HTTP accelerator
varnish.x86_64 : High-performance HTTP accelerator
Obtenons des informations détaillées sur le paquet httpd, qui est le serveur HTTP Apache.
sudo dnf info httpd
Cela affichera des détails complets sur le paquet, y compris sa taille, sa licence et sa description.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
Available Packages
Name : httpd
Version : 2.4.51
Release : 5.el9
Architecture : x86_64
Size : 1.5 M
Source : httpd-2.4.51-5.el9.src.rpm
Repository : rhel-9-for-x86_64-appstream-rpms
Summary : Apache HTTP Server
URL : https://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
Maintenant, installons le paquet httpd. Vous aurez besoin des privilèges sudo pour cette opération.
sudo dnf install httpd -y | tee ~/project/httpd-install.txt
L'indicateur -y répond automatiquement "oui" à toutes les invites, ce qui est utile pour les scripts, mais à utiliser avec prudence dans les environnements de production.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
httpd x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
1.5 M
Installing dependencies:
apr x86_64 1.7.0-11.el9 rhel-9-for-x86_64-appstream-rpms
126 k
apr-util x86_64 1.6.1-20.el9 rhel-9-for-x86_64-appstream-rpms
106 k
apr-util-bdb x86_64 1.6.1-20.el9 rhel-9-for-x86_64-appstream-rpms
13 k
apr-util-openssl x86_64 1.6.1-20.el9 rhel-9-for-x86_64-appstream-rpms
15 k
httpd-filesystem noarch 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
14 k
httpd-tools x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
100 k
mailcap noarch 2.1.49-5.el9 rhel-9-for-x86_64-baseos-rpms
36 k
mod_http2 x86_64 1.15.7-5.el9 rhel-9-for-x86_64-appstream-rpms
150 k
redhat-logos-httpd noarch 90.4-1.el9 rhel-9-for-x86_64-appstream-rpms
20 k
Transaction Summary
================================================================================
Install 10 Packages
Total download size: 2.1 M
Installed size: 6.9 M
Downloading Packages:
... (downloading package details omitted) ...
Running transaction
... (installation progress omitted) ...
Installed:
apr-1.7.0-11.el9.x86_64
apr-util-1.6.1-20.el9.x86_64
apr-util-bdb-1.6.1-20.el9.x86_64
apr-util-openssl-1.6.1-20.el9.x86_64
httpd-2.4.51-5.el9.x86_64
httpd-filesystem-2.4.51-5.el9.noarch
httpd-tools-2.4.51-5.el9.x86_64
mailcap-2.1.49-5.el9.noarch
mod_http2-1.15.7-5.el9.x86_64
redhat-logos-httpd-90.4-1.el9.noarch
Complete!
Vous pouvez vérifier que httpd est installé en interrogeant rpm :
rpm -q httpd
httpd-2.4.51-5.el9.x86_64
Maintenant, supprimons le paquet httpd.
sudo dnf remove httpd -y | tee ~/project/httpd-remove.txt
Cela supprimera le paquet httpd et toutes les dépendances qui ne sont plus nécessaires aux autres paquets installés.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Removing:
httpd x86_64 2.4.51-5.el9 @appstream 4.7 M
Removing dependent packages:
apr-util-bdb x86_64 1.6.1-20.el9 @appstream 13 k
apr-util-openssl x86_64 1.6.1-20.el9 @appstream 15 k
httpd-filesystem noarch 2.4.51-5.el9 @appstream 14 k
mod_http2 x86_64 1.15.7-5.el9 @appstream 150 k
redhat-logos-httpd noarch 90.4-1.el9 @appstream 20 k
Transaction Summary
================================================================================
Remove 6 Packages
Freed space: 4.9 M
... (transaction progress omitted) ...
Removed:
apr-util-bdb-1.6.1-20.el9.x86_64
apr-util-openssl-1.6.1-20.el9.x86_64
httpd-2.4.51-5.el9.x86_64
httpd-filesystem-2.4.51-5.el9.noarch
mod_http2-1.15.7-5.el9.x86_64
redhat-logos-httpd-90.4-1.el9.noarch
Complete!
Vous pouvez confirmer sa suppression :
rpm -q httpd
package httpd is not installed
Cela démontre les commandes dnf de base pour installer et supprimer des paquets logiciels.
Gérer les dépôts de logiciels DNF
Dans cette étape, vous apprendrez à gérer les dépôts de logiciels DNF. Les dépôts 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 dépôts est crucial pour contrôler les logiciels disponibles sur votre système.
Tout d'abord, listons tous les dépôts DNF configurés et leur statut (activé ou désactivé).
sudo dnf repolist all > ~/project/dnf-repolist.txt
cat ~/project/dnf-repolist.txt
Vous verrez une liste d'identifiants de dépôts, de noms et de leur statut actuel. Les noms exacts des dépôts dépendent de l'image utilisée pour le laboratoire.
repo id repo name status
rhui-rhel-10-for-x86_64-appstream-rhui-rpms Red Hat Enterprise enabled
rhui-rhel-10-for-x86_64-baseos-rhui-rpms Red Hat Enterprise enabled
rhui-rhel-10-for-x86_64-appstream-rhui-debug-rpms Red Hat Enterprise disabled
La commande dnf config-manager est un outil puissant pour gérer les configurations de dépôts. Vous pouvez l'utiliser pour activer ou désactiver des dépôts. Par exemple, essayons d'activer un dépôt de débogage hypothétique. Bien que ce dépôt spécifique puisse ne pas exister ou ne pas être accessible dans cet environnement de laboratoire, la commande démontre la syntaxe.
sudo dnf config-manager --enable rhel-9-server-debug-rpms 2>&1 | tee ~/project/dnf-enable-debug.txt
Vous verrez des messages concernant la gestion des abonnements et une erreur indiquant que le dépôt est introuvable, ce qui est attendu dans cet environnement.
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Error: No matching repo to modify: rhel-9-server-debug-rpms.
Maintenant, essayons de désactiver un dépôt. Nous utiliserons rhel-9-for-x86_64-appstream-rpms comme exemple. Remarque : Ce nom de dépôt spécifique n'existe pas dans l'image actuelle du laboratoire, mais la commande démontre la syntaxe.
sudo dnf config-manager --disable rhel-9-for-x86_64-appstream-rpms 2>&1 | tee ~/project/dnf-disable-appstream.txt
Vous verrez des messages de gestion des abonnements et une erreur indiquant que le dépôt n'existe pas dans cet environnement.
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Error: No matching repo to modify: rhel-9-for-x86_64-appstream-rpms.
Vérifions que ce nom de dépôt n'existe pas dans le système actuel :
sudo dnf repolist all | grep rhel-9-for-x86_64-appstream-rpms
Comme prévu, il n'y aura aucune sortie car ce dépôt n'existe pas dans l'image actuelle du laboratoire.
(no output)
Essayons la même commande d'activation pour confirmer que le dépôt n'existe pas :
sudo dnf config-manager --enable rhel-9-for-x86_64-appstream-rpms 2>&1 | tee ~/project/dnf-enable-appstream.txt
Encore une fois, vous verrez le même message d'erreur :
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Error: No matching repo to modify: rhel-9-for-x86_64-appstream-rpms.
La commande dnf config-manager --add-repo peut également être utilisée pour ajouter de nouveaux dépôts en spécifiant une URL. À des fins de démonstration, nous tenterons d'ajouter une URL de dépôt EPEL (Extra Packages for Enterprise Linux) courante. Bien que cela puisse ne pas configurer complètement le dépôt (car cela 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/" 2>&1 | tee ~/project/dnf-add-repo.txt
Vous verrez une sortie indiquant qu'un nouveau fichier .repo a été créé.
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Adding repo from: https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/
Vous pouvez inspecter le fichier .repo nouvellement créé 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 dépôt existants.
dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo redhat.repo ubi.repo
Enfin, supprimons le fichier de configuration du dépôt 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 dépôts DNF, ce qui est une compétence essentielle pour gérer les sources de logiciels sur RHEL.
Consulter l'historique des transactions DNF
Dans cette étape, vous apprendrez à consulter l'historique des transactions des opérations DNF. dnf conserve un journal détaillé de toutes les installations, suppressions et mises à jour de paquets. Cet historique est inestimable pour le dépannage, l'audit et même pour annuler des modifications si nécessaire.
Tout d'abord, consultons le résumé de toutes les transactions DNF qui ont eu lieu sur votre système.
sudo dnf history | tee ~/project/dnf-history.txt
Vous verrez un tableau listant chaque transaction avec un identifiant (ID), la ligne de commande utilisée, la date et l'heure, la ou les actions effectuées et le nombre de paquets modifiés.
ID | Command line | Date and time | Action(s) | Altered
--------------------------------------------------------------------------------
3 | install httpd | 2024-04-22 08:00 | Install | 10
2 | remove httpd | 2024-04-22 08:01 | Remove | 6
1 | | 2024-04-22 07:50 | Install | 767 EE
La colonne ID est particulièrement importante, car elle vous permet de faire référence à des transactions spécifiques. Dans ce laboratoire, vous pouvez capturer l'ID de la transaction de suppression de httpd à partir de la sortie de l'historique et le réutiliser dans les commandes suivantes.
HTTPD_REMOVE_ID=$(sudo dnf history | awk '/remove httpd/ && $1 ~ /^[0-9]+$/ {print $1; exit}')
echo "$HTTPD_REMOVE_ID"
sudo dnf history info "$HTTPD_REMOVE_ID" | tee ~/project/dnf-history-info.txt
Cette commande fournit une analyse complète de la transaction sélectionnée, y compris les paquets qui ont été supprimés, leurs versions et la raison de l'action.
Transaction ID : 2
Begin time : Mon Apr 22 08:01:00 2024
Begin rpmdb : 777:a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3
End time : Mon Apr 22 08:01:05 2024 (5 seconds)
End rpmdb : 771:a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3
User : labex <labex>
Return Code : Success
Command Line : dnf remove httpd -y
Packages Altered:
Removed apr-util-bdb-1.6.1-20.el9.x86_64
Removed apr-util-openssl-1.6.1-20.el9.x86_64
Removed httpd-2.4.51-5.el9.x86_64
Removed httpd-filesystem-2.4.51-5.el9.noarch
Removed mod_http2-1.15.7-5.el9.x86_64
Removed redhat-logos-httpd-90.4-1.el9.noarch
L'une des fonctionnalités les plus puissantes de l'historique DNF est la possibilité d'annuler (undo) ou de refaire (redo) des transactions. Annulons la transaction de suppression de httpd en réutilisant la valeur HTTPD_REMOVE_ID que vous venez de capturer.
sudo dnf history undo "$HTTPD_REMOVE_ID" -y | tee ~/project/dnf-history-undo.txt
Cette commande réinstallera le paquet httpd et ses dépendances qui ont été supprimés lors de cette transaction spécifique.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
Undoing transaction 2, from Mon Apr 22 08:01:00 2024
Removed apr-util-bdb-1.6.1-20.el9.x86_64
Removed apr-util-openssl-1.6.1-20.el9.x86_64
Removed httpd-2.4.51-5.el9.x86_64
Removed httpd-filesystem-2.4.51-5.el9.noarch
Removed mod_http2-1.15.7-5.el9.x86_64
Removed redhat-logos-httpd-90.4-1.el9.noarch
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
httpd x86_64 2.4.51-5.el9 ubi-9-appstream-rpms 1.5 M
Installing dependencies:
apr x86_64 1.7.0-11.el9 ubi-9-appstream-rpms 126 k
apr-util x86_64 1.6.1-20.el9 ubi-9-appstream-rpms 106 k
apr-util-bdb x86_64 1.6.1-20.el9 ubi-9-appstream-rpms 13 k
apr-util-openssl x86_64 1.6.1-20.el9 ubi-9-appstream-rpms 15 k
httpd-filesystem noarch 2.4.51-5.el9 ubi-9-appstream-rpms 14 k
httpd-tools x86_64 2.4.51-5.el9 ubi-9-appstream-rpms 100 k
mailcap noarch 2.1.49-5.el9 ubi-9-baseos-rpms 36 k
mod_http2 x86_64 1.15.7-5.el9 ubi-9-appstream-rpms 150 k
redhat-logos-httpd noarch 90.4-1.el9 ubi-9-appstream-rpms 20 k
Transaction Summary
================================================================================
Install 10 Packages
Total download size: 2.1 M
Installed size: 6.9 M
... (installation progress omitted) ...
Complete!
Vous pouvez vérifier que httpd est maintenant ré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 | tee ~/project/dnf-history-final-remove.txt
... (output omitted) ...
Complete!
Cette étape a démontré comment utiliser dnf history pour consulter, inspecter et même annuler des transactions DNF, offrant des capacités puissantes pour la gestion du système.
Résumé
Dans ce laboratoire, nous avons appris des 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, cruciale pour enregistrer les systèmes auprès de Red Hat et accéder à leur réseau de diffusion de contenu, même si l'enregistrement complet n'était pas possible dans l'environnement simulé.
Ensuite, nous avons exploré comment interroger les informations des paquets RPM, installer et supprimer des logiciels à l'aide de DNF, gérer les dépôts de logiciels DNF et consulter 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.



