9.2. DNF トランザクションの取り消し
DNF トランザクションを元に戻すことは、トランザクション中に実行された操作を元に戻す場合に役立ちます。たとえば、dnf install
コマンドを使用して複数のパッケージをインストールした場合は、インストールトランザクションを元に戻すことで、これらのパッケージを一度にアンインストールできます。
DNF トランザクションは次の方法で元に戻すことができます。
-
dnf history undo
コマンドを使用して、単一の DNF トランザクションを元に戻します。 -
dnf history rollback
コマンドを使用して、指定されたトランザクションと最後のトランザクションの間に実行されたすべての DNF トランザクションを元に戻します。
dnf history undo
コマンドと dnf history rollback
コマンドを使用して RHEL システムパッケージを古いバージョンにダウングレードすることはサポートされていません。これは特に、selinux
、selinux-policy-*
、kernel
、および glibc
パッケージ、ならびに gcc
などの glibc
の依存関係に関係します。したがって、システムをマイナーバージョンにダウングレードすると (たとえば、RHEL 9.1 から RHEL 9.0 に)、システムが不正な状態になる可能性があるため、推奨されません。
9.2.1. 単一の DNF トランザクションを元に戻す
dnf history undo
コマンドを使用して、単一のトランザクション内で実行されたステップを元に戻すことができます。
-
このトランザクションで新しいパッケージがインストールされた場合は、
dnf history undo
がそのパッケージをアンインストールします。 -
トランザクションでパッケージがアンインストールされた場合は、
dnf history undo
がそのパッケージを再インストールします。 また、
dnf history undo
コマンドは、古いパッケージが依然として利用可能な場合、更新されたすべてのパッケージを以前のバージョンにダウングレードしようとします。注記古いパッケージバージョンが利用できない場合は、
dnf history undo
コマンドを使用したダウングレードは失敗します。
手順
元に戻すトランザクションの ID を特定します。
# 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
オプション: 詳細を表示して、元に戻したいトランザクションであることを確認します。
# dnf history info <transaction_id>
トランザクションを元に戻します。
# dnf history undo <transaction_id>
たとえば、以前にインストールした
unzip
パッケージをアンインストールする場合は、次のように入力します。# dnf history undo 12
9.2.2. 複数の DNF トランザクションを元に戻す
dnf history rollback
コマンドを使用して、指定したトランザクションと最後のトランザクションの間に実行されたすべての DNF トランザクションを元に戻すことができます。トランザクション ID で指定されたトランザクションは変更されないことに注意してください。
手順
元に戻したい状態のトランザクション ID を特定します。
# 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
指定したトランザクションを元に戻す。
# dnf history rollback <transaction_id>
たとえば、
wget
およびunzip
パッケージがインストールされる前の状態に戻すには、次のように入力します。# dnf history rollback 12
または、トランザクション履歴のすべてのトランザクションを元に戻すには、トランザクション ID 1 を使用します。
# dnf history rollback 1