8.2. DNF トランザクションの取り消し
Red Hat Enterprise Linux (RHEL) 10 で 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 10.1 から RHEL 10.0 に) することは推奨しません。システムが不正な状態になる可能性があるためです。
8.2.1. 単一の DNF トランザクションを元に戻す リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux (RHEL) 10 で単一の DNF トランザクション中に実行された操作を取り消すには、DNF ツールを使用してそのトランザクションを元に戻します。パッケージ管理履歴内の特定の時点まで環境を戻すことで、意図しない変更やエラーから復旧できます。DNF 履歴内の単一のトランザクションを元に戻しても、それ以降のトランザクションが取り消されたり変更されたりすることはありません。
dnf history undo コマンドを使用して、トランザクションのステップを元に戻すことができます。
-
このトランザクションで新しいパッケージがインストールされた場合は、
dnf history undoがそのパッケージをアンインストールします。 -
トランザクションでパッケージがアンインストールされた場合は、
dnf history undoがそのパッケージを再インストールします。 また、
dnf history undoコマンドは、古いパッケージが依然として利用可能な場合、更新されたすべてのパッケージを以前のバージョンにダウングレードしようとします。注記古いパッケージバージョンが利用できない場合は、
dnf history undoコマンドを使用したダウングレードは失敗します。
手順
元に戻すトランザクションの ID を特定します。
# dnf historyID | 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