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 auprès du 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 en les ajoutant, en les activant et en les désactivant. Enfin, vous apprendrez à consulter et à comprendre l'historique des transactions DNF, ce qui vous offrira 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 dépôts. Il est exclusivement 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é, la compréhension de la commande subscription-manager est cruciale 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'associer des abonnements et d'accéder au réseau de diffusion de contenu de Red Hat pour obtenir des paquets logiciels et des mises à jour.
Tout d'abord, essayons d'enregistrer le système en utilisant un nom d'utilisateur factice. 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 factices afin que la commande puisse s'exécuter de manière non interactive. La commande échouera à s'authentifier, ce qui est attendu dans cet environnement, et la sortie est enregistrée dans ~/project/subscription-register.txt pour être examinée.
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
Le système n'étant pas enregistré, vous verrez un message indiquant qu'aucun dépôt pris en charge par un abonnement n'est disponible.
This system has no repositories available through subscriptions.
Ensuite, vérifions l'état actuel de l'abonnement pour ce système. C'est un moyen pratique de confirmer que le système n'est toujours pas enregistré avant de travailler avec le contenu de l'abonnement Red Hat.
sudo subscription-manager status 2>&1 | tee ~/project/subscription-status.txt
Comme le système n'est pas enregistré, la commande signalera soit Not registered, soit Unknown, selon la version de subscription-manager. Dans cet environnement simulé, Unknown indique également que le système n'a aucun statut d'abonnement actif après l'échec de la tentative d'enregistrement.
+-------------------------------------------+
System Status Details
+-------------------------------------------+
Overall Status: Unknown
System Purpose Status: Unknown
Cet exercice démontre l'utilisation de base de subscription-manager pour l'enregistrement et les vérifications d'état. 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 des paquets RPM
Dans cette étape, vous apprendrez à utiliser la commande rpm pour analyser des 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 plus 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 pouvant générer une très longue liste, nous allons rediriger la sortie vers head pour n'en 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.noarch
basesystem-11-13.el9.noarch
pcre2-syntax-10.40-5.el9.noarch
ncurses-base-6.2-10.20210508.el9.noarch
Ensuite, cherchons 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 indiquera 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 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, notamment la version, la révision, 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 s'avérer 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.
/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 ne voir que 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 afficher l'historique des modifications (changelog) d'un paquet, utilisez --changelog. Cela peut donner un aperçu de 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 dont le nom contient "http". 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, notamment 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 précaution 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 ainsi que toutes les dépendances qui ne sont plus nécessaires pour les 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 de base de dnf pour l'installation et la suppression de 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ù sont stockés les paquets logiciels et à partir desquels dnf les récupère. Savoir 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 état (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 (repo IDs), de noms et de leur état 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ésactivant 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 illustre 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 n'a pas été trouvé, 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 illustre 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 puisque 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 allons tenter d'ajouter l'URL d'un dépôt EPEL (Extra Packages for Enterprise Linux) courant. Bien que cela ne configure peut-être pas entièrement 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 tel que dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo ainsi que 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 de dépôt que nous venons d'ajouter pour nettoyer l'environnement.
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, qui sont des compétences essentielles pour gérer les sources de logiciels sur RHEL.
Afficher l'historique des transactions DNF
Dans cette étape, vous apprendrez à afficher 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 l'annulation de 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 | 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 exécuté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 ventilation complète de la transaction sélectionnée, incluant 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 capacité d'annuler (undo) ou de refaire (redo) des transactions. Annulons la transaction de suppression de httpd en réutilisant la valeur de 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 à 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 de 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 afficher, inspecter et même inverser des transactions DNF, offrant ainsi de puissantes fonctionnalités pour l'administration système.
Résumé
Dans ce laboratoire, nous avons acquis des compétences essentielles pour gérer des 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.



