La fonctionnalité "yum history" de yum est un utilitaire généralement négligé mais très puissant sous Linux. Il peut être utilisé pour annuler/rétablir/annuler la transaction yum à un état où tout fonctionnait correctement.
miam historique
La commande "yum history list" lorsqu'elle est exécutée sans aucun argument produit une sortie similaire à celle illustrée ci-dessous. "yum history" ou "yum history list" affiche par défaut les 20 dernières transactions yum.
# yum history list
Ici,
ID :Identifie de manière unique une transaction yum.
Ligne de commande :
Date et heure :Date et heure de la transaction.
Action(s) :Action effectuée dans la transaction, telle que l'installation, la mise à jour, etc. La liste détaillée est donnée ci-dessous.
Action | Abréviation | Description |
---|---|---|
Rétrograder | D | Au moins un package a été rétrogradé vers une version plus ancienne. |
Effacer | E | Au moins un paquet a été supprimé. |
Installer | Je | Au moins un nouveau package a été installé. |
Obsolète | O | Au moins un package a été marqué comme obsolète. |
Réinstaller | R | Au moins un paquet a été réinstallé. |
Mettre à jour | U | Au moins un package a été mis à jour vers une version plus récente. |
Modifié :Nombre de packages qui ont été affectés par une transaction et des informations supplémentaires comme si la base de données rpmdb a été modifiée avant et après la transaction, etc. La liste détaillée est donnée ci-dessous.
Symbole | Description |
---|---|
< | Avant la fin de la transaction, la base de données rpmdb a été modifiée en dehors de Yum. |
> | Une fois la transaction terminée, la base de données rpmdb a été modifiée en dehors de Yum. |
* | La transaction n'a pas pu se terminer. |
# | La transaction s'est terminée avec succès, mais yum a renvoyé un code de sortie différent de zéro. |
E | La transaction s'est terminée avec succès, mais une erreur ou un avertissement s'est affiché. |
P | La transaction s'est terminée avec succès, mais des problèmes existaient déjà dans la base de données rpmdb. |
s | La transaction s'est terminée avec succès, mais l'option de ligne de commande –skip-broken a été utilisée et certains packages ont été ignorés. |
Pour afficher toutes les transactions, utilisez le tout option.
# yum history list all
Informations sur une transaction spécifique
Si vous connaissez l'ID de transaction d'une transaction yum, vous pouvez obtenir une vue détaillée à l'aide de la commande ci-dessous.
# yum history info 1
Par exemple :
vous pouvez également utiliser le nom du package avec la commande yum history. Par exemple :
# yum history info vsftpd
La commande ci-dessus affichera toutes les transactions telles que l'installation, la mise à jour, la suppression du package vsftpd.
Vous pouvez également obtenir un résumé de l'historique des transactions sur un package spécifique en utilisant le résumé option. Par exemple :
Annuler ou refaire une transaction yum
Vous pouvez annuler une transaction yum spécifique à l'aide de la syntaxe de commande ci-dessous :
# yum history rollback [transaction_ID]
Par exemple :
De même, vous pouvez également refaire la transaction yum. Par exemple :
# yum history redo [transaction ID]
Nous allons refaire la suppression du package sysstat supprimé à l'aide de la commande illustrée dans la figure ci-dessous.
La sous-commande redo peut également prendre des arguments facultatifs avant de spécifier une transaction :
force-reinstall – réinstalle tous les packages qui ont été installés dans cette transaction (via yum install, upgrade ou downgrade).
force-remove – supprime tous les packages qui ont été mis à jour ou rétrogradés.
Annuler la transaction yum jusqu'à un certain point
Avec la commande yum history, vous pouvez annuler toutes les transactions jusqu'à un ID de transaction particulier. Par exemple, si vous spécifiez l'ID de transaction 16, toutes les transactions depuis la dernière jusqu'à l'ID de transaction 16 seront annulées. Par exemple :
# yum history rollback 16