9.2. Annulation des transactions DNF
Dans RHEL 9, vous pouvez annuler DNF de deux manières :
-
Rétablir une transaction unique DNF la commande
dnf history undo
permet d'annuler une transaction unique. -
Annule toutes les transactions effectuées entre la transaction spécifiée et la dernière transaction en utilisant la commande DNF toutes les transactions effectuées entre la transaction spécifiée et la dernière transaction sont annulées à l'aide de la commande
dnf history rollback
.
Utilisez les commandes dnf history undo
et dnf history rollback
avec prudence. La rétrogradation des paquets RHEL, en particulier des paquets selinux
, selinux-policy-*
, kernel
, glibc
(dépendances de glibc
telles que gcc
), vers une version plus ancienne n'est pas prise en charge. Par conséquent, il n'est pas recommandé de rétrograder un système vers une version mineure (par exemple, de RHEL 9.1 à RHEL 9.0), car cela pourrait laisser le système dans un état indésirable.
9.2.1. L'annulation d'une transaction DNF unique en utilisant la fonction dnf history undo
Vous pouvez annuler les étapes effectuées au cours d'une seule transaction en utilisant la commande dnf history undo
.
Si la transaction a installé un nouveau paquet, dnf history undo
le désinstalle. Si la transaction a désinstallé un paquet, dnf history undo
l'installe à nouveau. La commande dnf history undo
tente également de rétrograder tous les paquets mis à jour à leur version précédente si celle-ci est encore disponible.
Si une version plus ancienne du paquet n'est pas disponible, la rétrogradation à l'aide de la commande dnf history undo
échoue.
Pour annuler une transaction unique à l'aide de la commande dnf history undo
, procédez comme suit.
Procédure
Identifiez l'ID d'une transaction que vous souhaitez annuler :
# dnf history
Facultatif : Vérifiez qu'il s'agit bien de la transaction que vous souhaitez annuler en affichant ses détails :
# dnf history info transaction_id
Remplacez transaction_id par l'identifiant de la transaction que vous souhaitez annuler.
Annuler la transaction :
# dnf history undo transaction_id
Remplacez transaction_id par l'identifiant de la transaction que vous souhaitez annuler.
Exemple 9.1. Annulation d'une transaction DNF unique à l'aide de la commande dnf history undo
L'exemple suivant montre comment inverser la transaction d'installation du paquet unzip
à l'aide de la commande dnf history undo
.
Installez le paquetage
unzip
:# dnf install unzip Dependencies resolved. ========================================================================== Package Architecture Version Repository Size ========================================================================== Installing: unzip x86_64 6.0-56.el9 rhel 186 k Transaction Summary ========================================================================== Install 1 Package Total download size: 186 k Installed size: 392 k Is this ok [y/N]: y
Identifiez l'ID de la transaction que vous souhaitez annuler :
# dnf history ID | Command line | Date and time | Action(s) | Altered -------------------------------------------------------------------- 13 | install zip | 2022-11-03 10:49 | Install | 1 12 | install unzip | 2022-11-03 10:49 | Install | 1
Annuler la transaction :
# dnf history undo 12
9.2.2. Annulation de plusieurs transactions DNF à l'aide de dnf history rollback
Vous pouvez annuler toutes les DNF effectuées entre une transaction spécifiée et la dernière transaction en utilisant la commande dnf history rollback
. Notez que la transaction spécifiée par l'ID de la transaction restera inchangée.
Pour annuler plusieurs transactions à l'aide de la commande dnf history rollback
, procédez comme suit.
Procédure
Identifiez l'identifiant de transaction de l'état auquel vous souhaitez revenir :
# dnf history
Rétablir les transactions spécifiées :
# dnf history rollback transaction_id
Remplacez transaction_id par l'identifiant de transaction de l'état auquel vous souhaitez revenir.
Pour annuler toutes les transactions de l'historique des transactions, il est également possible d'utiliser l'ID de la transaction 1:
# dnf history rollback 1
Exemple 9.2. Annulation de plusieurs transactions DNF à l'aide de la commande dnf history rollback
L'exemple suivant montre comment annuler deux opérations d'installation des paquets unzip
et zip
à l'aide de la commande dnf history rollback
.
Installez le paquetage
unzip
:# dnf install unzip Dependencies resolved. ======================================================================== Package Architecture Version Repository Size ======================================================================== Installing: unzip x86_64 6.0-56.el9 rhel 186 k Transaction Summary ======================================================================== Install 1 Package Total download size: 186 k Installed size: 392 k Is this ok [y/N]: y
Installez le paquetage
wget
:# dnf install wget Dependencies resolved. ======================================================================== Package Architecture Version Repository Size ======================================================================== Installing: wget x86_64 1.21.1-7.el9 rhel 794 k Transaction Summary ======================================================================== Install 1 Package Total download size: 794 k Installed size: 3.1 M Is this ok [y/N]: y
Identifiez l'identifiant de transaction de l'état auquel vous souhaitez revenir :
# dnf history ID | Command line | Date and time | Action(s) | Altered ------------------------------------------------------------------ 14 | install wget | 2022-11-03 10:49 | Install | 1 13 | install unzip | 2022-11-03 10:49 | Install | 1 12 | install vim-X11 | 2022-11-03 10:20 | Install | 171 EE
Reprendre les deux dernières transactions :
# dnf history rollback 12
Cette action désinstalle les paquets
wget
etunzip
mais laisse le paquetvim-X11
installé.