アップデートをしてみたけど、アップデート前の状態に戻したいときの方法です。ただし、あくまでも緊急時であり、アップデート前にはバックアップを取得して、そちらから戻しましょう。
9.2. DNF トランザクションの取り消し | Red Hat Product Documentation
9.2. DNF トランザクションの取り消し | Red Hat Documentation
環境
アップデートをした後
$ cat /etc/almalinux-release
AlmaLinux release 9.4 (Seafoam Ocelot)
$ uname -r
5.14.0-427.42.1.el9_4.x86_64
アップデートをする前
$ cat /etc/almalinux-release
AlmaLinux release 9.4 (Seafoam Ocelot)
$ uname -r
5.14.0-427.13.1.el9_4.x86_64
アップデートした後の状態
履歴を確認します。
$ sudo dnf history
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
2 | update --releasever=9.4 | 2025-01-20 13:19 | I, U | 184 E<
1 | | 2025-01-19 18:10 | Install | 1191 >E
履歴の詳細を確認します。
$ dnf history info 2
Transaction ID : 2
Begin time : Mon Jan 20 13:19:18 2025
Begin rpmdb : 833f0aabfbba5a68538493279202139c2a8573eeaff728afea3cead8fc13e42a
End time : Mon Jan 20 13:31:37 2025 (12 minutes)
End rpmdb : 70db358e9e8d4cb988e58417a7fc134cd0138c1e60a4a61d6dd92ca6e968c2c8
User : <takam>
Return-Code : Success
Releasever : 9.4
Command Line : update --releasever=9.4
Comment :
Packages Altered:
Install composefs-1.0.3-2.el9.x86_64 @appstream
Install composefs-libs-1.0.3-2.el9.x86_64 @appstream
Install grub2-tools-efi-1:2.06-82.el9_4.alma.1.x86_64 @baseos
Install grub2-tools-extra-1:2.06-82.el9_4.alma.1.x86_64 @baseos
Install kernel-5.14.0-427.42.1.el9_4.x86_64 @baseos
Install kernel-core-5.14.0-427.42.1.el9_4.x86_64 @baseos
Install kernel-modules-5.14.0-427.42.1.el9_4.x86_64 @baseos
Install kernel-modules-core-5.14.0-427.42.1.el9_4.x86_64 @baseos
Upgrade bind-libs-32:9.16.23-18.el9_4.6.x86_64 @appstream
Upgraded bind-libs-32:9.16.23-18.el9_4.1.x86_64 @@System
Upgrade bind-license-32:9.16.23-18.el9_4.6.noarch @appstream
: (省略)
現在動作しているカーネルのバージョンを確認します。
$ sudo grubby --default-kernel
/boot/vmlinuz-5.14.0-427.42.1.el9_4.x86_64
$ dnf --showduplicates --releasever=9.4 list kernel.x86_64
Last metadata expiration check: 0:00:12 ago on Tue Jan 21 15:45:39 2025.
Installed Packages
kernel.x86_64 5.14.0-427.13.1.el9_4 @anaconda
kernel.x86_64 5.14.0-427.42.1.el9_4 @baseos
Available Packages
kernel.x86_64 5.14.0-427.13.1.el9_4 baseos
kernel.x86_64 5.14.0-427.16.1.el9_4 baseos
kernel.x86_64 5.14.0-427.18.1.el9_4 baseos
kernel.x86_64 5.14.0-427.20.1.el9_4 baseos
kernel.x86_64 5.14.0-427.22.1.el9_4 baseos
kernel.x86_64 5.14.0-427.24.1.el9_4 baseos
kernel.x86_64 5.14.0-427.26.1.el9_4 baseos
kernel.x86_64 5.14.0-427.28.1.el9_4 baseos
kernel.x86_64 5.14.0-427.31.1.el9_4 baseos
kernel.x86_64 5.14.0-427.33.1.el9_4 baseos
kernel.x86_64 5.14.0-427.35.1.el9_4 baseos
kernel.x86_64 5.14.0-427.37.1.el9_4 baseos
kernel.x86_64 5.14.0-427.40.1.el9_4 baseos
kernel.x86_64 5.14.0-427.42.1.el9_4 baseos
アップデート前に戻す
戻したい履歴の「ID」番号を指定して戻します。
$ sudo dnf history undo 2
: (省略)
Downgraded:
NetworkManager-1:1.46.0-4.el9_4.x86_64
NetworkManager-adsl-1:1.46.0-4.el9_4.x86_64
: (省略)
Removed:
composefs-1.0.3-2.el9.x86_64
composefs-libs-1.0.3-2.el9.x86_64
: (省略)
Complete!
$ systemctl reboot
履歴を確認します。
$ sudo dnf history
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
3 | history undo 2 | 2025-01-20 21:51 | C, D, E | 185 EE
2 | update | 2025-01-20 13:19 | I, U | 184 E<
1 | | 2025-01-19 18:10 | Install | 1191 >E
動作しているカーネルを確認します。
$ sudo grubby --default-kernel
/boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64
$ dnf --showduplicates --releasever=9.4 list kernel.x86_64
Last metadata expiration check: 7:20:23 ago on Mon Jan 20 15:23:38 2025.
Installed Packages
kernel.x86_64 5.14.0-427.13.1.el9_4 @anaconda
Available Packages
kernel.x86_64 5.14.0-427.13.1.el9_4 baseos
kernel.x86_64 5.14.0-427.16.1.el9_4 baseos
kernel.x86_64 5.14.0-427.18.1.el9_4 baseos
kernel.x86_64 5.14.0-427.20.1.el9_4 baseos
kernel.x86_64 5.14.0-427.22.1.el9_4 baseos
kernel.x86_64 5.14.0-427.24.1.el9_4 baseos
kernel.x86_64 5.14.0-427.26.1.el9_4 baseos
kernel.x86_64 5.14.0-427.28.1.el9_4 baseos
kernel.x86_64 5.14.0-427.31.1.el9_4 baseos
kernel.x86_64 5.14.0-427.33.1.el9_4 baseos
kernel.x86_64 5.14.0-427.35.1.el9_4 baseos
kernel.x86_64 5.14.0-427.37.1.el9_4 baseos
kernel.x86_64 5.14.0-427.40.1.el9_4 baseos
kernel.x86_64 5.14.0-427.42.1.el9_4 baseos
dnf historyで表示される内容
manページに記載されている内容(Googleで翻訳)
「Action(s)」列には、トランザクションで実行された各タイプのアクションがリストされます。
可能な値は次のとおりです。
o Install (I) : 新しいパッケージがシステムにインストールされました
o Downgrade (D) : パッケージの古いバージョンが、以前にインストールされたバージョンを置き換えます。
o Obsolete (O) : 廃止されたパッケージは新しいパッケージに置き換えられました。
o Upgrade (U) : 以前にインストールされたバージョンが新しいバージョンのパッケージに置き換えられました。
o Remove (E) : パッケージがシステムから削除されました
o Reinstall (R) : パッケージは同じバージョンで再インストールされました
o Reason change (C) : パッケージはシステムに保持されていましたが、インストールされた理由が変更されました。
「Altered」列には、各トランザクションで実行されたアクション数がリストされます。
その後にアクションが続く場合があります。もしくは次の2つの記号:
o >: RPM データベースはトランザクション後に DNF の外部で変更されました。
o <: RPM データベースは、トランザクションの前に DNF の外部で変更されました。
o *: トランザクションは完了前に中止されました。
o #: トランザクションは完了しましたが、ステータスはゼロ以外です
o E: トランザクションは正常に完了しましたが、警告/エラーが出力されました。