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 :
yum
history
list
all
:
yum
history
list
all
yum
history
list
start_id..end_id
yum
history
list
glob_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 list
yum 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 » ».
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. |
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 :
yum
history
sync
yum
history
stats
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
:
yum
history
summary
yum
history
summary
start_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 :
yum
history
summary
glob_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 summary
yum 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
:
yum
history
package-list
glob_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-list
8.4.2. Examiner les transactions
root
, utilisez la commande yum history summary
sous la forme suivante :
yum
history
summary
id
root
:
yum
history
info
id…
yum
history
info
start_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 info
root
:
yum
history
addon-info
id
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
:
yum
history
addon-info
last
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-info
yum
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-transaction
afin de répéter la transaction sur une autre machine (voir ci-dessous).
root
:
yum
history
addon-info
id 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
:
yum
history
undo
id
root
:
yum
history
redo
id
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
-q
history
addon-info
idsaved_tx
>file_name
root
:
yum
load-transaction
file_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
:
yum
history
new
/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.