8.4. Utiliser l'historique des transactions
yum history permet aux utilisateurs d'examiner des informations sur la chronologie des transactions yum, les dates et heures auxquelles elles se sont produites, le nombre de paquets affectés, si ces transactions ont réussi ou échoué, et si la base de données RPM a été modifiées entre les transactions. En outre, cette commande peut être utilisée pour annuler ou refaire certaines transactions. Tout l'historique des données est stocké dans la base de données de l'historique (history DB) dans le répertoire /var/lib/yum/history/.
8.4.1. Répertorier les transactions
root, veuillez exécuter yum history sans argument supplémentaire, ou saisissez ce qui suit dans une invite shell :
yumhistorylist
all :
yumhistorylistall
yumhistoryliststart_id..end_id
yumhistorylistglob_expression…
Exemple 8.19. Répertorier les cinq transactions les plus anciennes
yum history list, la transaction la plus récente est affichée en haut de la liste. Pour afficher des informations sur les cinq plus anciennes transactions stockées dans la base de données de l'historique, veuillez saisir :
~]# yum history list 1..5
Loaded plugins: langpacks, product-id, subscription-manager
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
5 | User <user> | 2013-07-29 15:33 | Install | 1
4 | User <user> | 2013-07-21 15:10 | Install | 1
3 | User <user> | 2013-07-16 15:27 | I, U | 73
2 | System <unset> | 2013-07-16 15:19 | Update | 1
1 | System <unset> | 2013-07-16 14:38 | Install | 1106
history listyum history list produisent une sortie tabulaire dont chaque ligne comporte les colonnes suivantes :
ID— valeur d'entier identifiant une transaction particulière.Login user— nom de l'utilisateur dont la session de connexion a été utilisée pour initier une transaction. Cette information est typiquement présentée sous la formeFull Name <username>. Pour les transactions qui n'ont pas été effectuées par un utilisateur (comme les mises à jour automatiques du système),System <unset>est utilisé à la place.Date and time— la date et l'heure à laquelle une transaction a été effectuée.Action(s)— liste d'actions effectuées au cours d'une transaction, comme décrit dans Tableau 8.1, « Valeurs possibles du champ « Action(s) » ».Altered— nombre de paquets qui ont été affectés par une transaction, probablement suivis d'informations supplémentaires comme décrit dans Tableau 8.2, « Les valeurs possibles du champ « Altered » ».
Tableau 8.1. Valeurs possibles du champ « Action(s) »
| Action | Abbréviation | Description |
|---|---|---|
Downgrade | D | Un paquet au moins a été mis à niveau à une version antérieure. |
Erase | E | Un paquet au moins a été supprimé. |
Install | I | Un nouveau paquet au moins a été installé. |
Obsoleting | O | Un paquet au mons a été marqué comme obsolète. |
Reinstall | R | Un paquet au moins a été réinstallé. |
Update | U | Un paquet au moins a été mis à jour à une version plus récente. |
Tableau 8.2. Les valeurs possibles du champ « Altered »
| Symbole | Description |
|---|---|
< | Avant que la transaction se termine, la base de données rpmdb a été modifiée hors de yum. |
> | Une fois la transaction terminée, la base de données rpmdb a été modifiée hors de yum. |
* | La transaction ne s'est pas terminée correctement. |
# | La transaction s'est terminée correctement, mais yum a retourné un code de sortie différent de zéro. |
E | La transaction s'est terminée correctement, mais une erreur ou un avertissement s'est affiché. |
P | La transaction s'est terminée correctement, mais des problèmes existaient déjà dans la base de données rpmdb. |
s | La transaction s'est terminée correctement, mais l'option de ligne de commande --skip-broken a été utilisée et certains paquets ont été ignorés. |
rpmdb ou yumdb pour tout paquet installé avec la base de données rpmdb ou yumdb actuellement utilisée, veuillez saisir ce qui suit :
yumhistorysync
yumhistorystats
Exemple 8.20. Exemple de sortie de yum history stats
~]# yum history stats
Loaded plugins: langpacks, product-id, subscription-manager
File : //var/lib/yum/history/history-2012-08-15.sqlite
Size : 2,766,848
Transactions: 41
Begin time : Wed Aug 15 16:18:25 2012
End time : Wed Feb 27 14:52:30 2013
Counts :
NEVRAC : 2,204
NEVRA : 2,204
NA : 1,759
NEVR : 2,204
rpm DB : 2,204
yum DB : 2,204
history stats
root :
yumhistorysummary
yumhistorysummarystart_id..end_id
yum history list, vous pouvez également afficher un résumé des transactions concernant un ou plusieurs paquets particuliers en fournissant un nom de paquet ou une expression glob :
yumhistorysummaryglob_expression…
Exemple 8.21. Résumé des cinq transactions les plus récentes
~]# yum history summary 1..5
Loaded plugins: langpacks, product-id, subscription-manager
Login user | Time | Action(s) | Altered
-------------------------------------------------------------------------------
Jaromir ... <jhradilek> | Last day | Install | 1
Jaromir ... <jhradilek> | Last week | Install | 1
Jaromir ... <jhradilek> | Last 2 weeks | I, U | 73
System <unset> | Last 2 weeks | I, U | 1107
history summaryyum history summary produisent une sortie tabulaire simplifiée similaire à la sortie de yum history list.
yum history list et yum history summary sont orientées vers les transactions, et même si elles permettent d'uniquement afficher les transactions concernant un ou plusieurs paquets en particulier, des détails cruciaux seront manquants, comme la version des paquets. Pour répertorier les transactions depuis la perspective du paquet, veuillez exécuter la commande suivante en tant qu'utilisateur root :
yumhistorypackage-listglob_expression…
Exemple 8.22. Traçage de l'historique d'un paquet
~]# yum history package-list subscription-manager\*
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
ID | Action(s) | Package
-------------------------------------------------------------------------------
2 | Updated | subscription-manager-1.13.22-1.el7.x86_64 EE
2 | Update | 1.15.9-15.el7.x86_64 EE
2 | Obsoleted | subscription-manager-firstboot-1.13.22-1.el7.x86_64 EE
2 | Updated | subscription-manager-gui-1.13.22-1.el7.x86_64 EE
2 | Update | 1.15.9-15.el7.x86_64 EE
2 | Obsoleting | subscription-manager-initial-setup-addon-1.15.9-15.el7.x86_64 EE
1 | Install | subscription-manager-1.13.22-1.el7.x86_64
1 | Install | subscription-manager-firstboot-1.13.22-1.el7.x86_64
1 | Install | subscription-manager-gui-1.13.22-1.el7.x86_64
history package-list8.4.2. Examiner les transactions
root, utilisez la commande yum history summary sous la forme suivante :
yumhistorysummaryid
root :
yumhistoryinfoid…
yumhistoryinfostart_id..end_id
Exemple 8.23. Exemple de sortie de yum history info
~]# yum history info 4..5
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Transaction ID : 4..5
Begin time : Mon Dec 7 16:51:07 2015
Begin rpmdb : 1252:d2b62b7b5768e855723954852fd7e55f641fbad9
End time : 17:18:49 2015 (27 minutes)
End rpmdb : 1253:cf8449dc4c53fc0cbc0a4c48e496a6c50f3d43c5
User : Maxim Svistunov <msvistun>
Return-Code : Success
Command Line : install tigervnc-server.x86_64
Command Line : reinstall tigervnc-server
Transaction performed with:
Installed rpm-4.11.3-17.el7.x86_64 @rhel-7-server-rpms
Installed subscription-manager-1.15.9-15.el7.x86_64 @rhel-7-server-rpms
Installed yum-3.4.3-132.el7.noarch @rhel-7-server-rpms
Packages Altered:
Reinstall tigervnc-server-1.3.1-3.el7.x86_64 @rhel-7-server-rpms
history inforoot :
yumhistoryaddon-infoid
yum history info, lorsqu'aucun id n'est fourni, yum utilise automatiquement la dernière transaction. Une autre manière de faire référence à la traduction la plus récente consiste à utiliser le mot-clé last :
yumhistoryaddon-infolast
Exemple 8.24. Exemple de sortie de yum history addon-info
yum history addon-info fournit la sortie suivante :
~]# yum history addon-info 4
Loaded plugins: langpacks, product-id, subscription-manager
Transaction ID: 4
Available additional history information:
config-main
config-repos
saved_tx
history addon-infoyum history addon-info, trois types d'informations sont disponibles :
config-main— options yum globales qui étaient utilisées pendant la transaction. Veuillez consulter la Section 8.5.1, « Définir les options [main] » pour obtenir des informations sur la manière de modifier les options globales.config-repos— options des référentiels yum individuels. Veuillez consulter la Section 8.5.2, « Définir les options [repository] » pour obtenir des informations sur la manière de modifier les options de référentiels individuels.saved_tx— les données pouvant être utilisées par la commandeyum load-transactionafin de répéter la transaction sur une autre machine (voir ci-dessous).
root :
yumhistoryaddon-infoid information
8.4.3. Restaurer et répéter des transactions
yum history fournit un moyen de restaurer ou de répéter une transaction sélectionnée. Pour restaurer une transaction, veuillez saisir ce qui suit dans l'invite shell en tant qu'utilisateur root :
yumhistoryundoid
root :
yumhistoryredoid
last pour annuler ou répéter la dernière transaction.
yum history undo et yum history redo restaurent ou répètent uniquement les étapes qui ont été effectuées pendant une transaction. Si la transaction a installé un nouveau paquet, la commande yum history undo le désinstallera, et si la transaction a désinstallé un paquet, la commande l'installera à nouveau. Cette commande tente également de faire une mise à niveau inférieur de tous les paquets mis à jour vers leur version précédente si ces paquets plus anciens sont toujours disponibles.
root :
yum-qhistoryaddon-infoidsaved_tx>file_name
root :
yumload-transactionfile_name
load-transaction de manière à ignorer les paquets manquants ou la version rpmdb. Pour obtenir davantage d'informations sur ces options de configuration, veuillez consulter la page man yum.conf(5).
8.4.4. Lancer un nouvel historique des transactions
root :
yumhistorynew
/var/lib/yum/history/. L'ancien historique des transactions sera conservé, mais il ne sera pas accessible tant qu'un fichier de base de données plus récent sera présent dans le répertoire.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.