アップデートした後に元に戻したい(非推奨)

アップデートをしてみたけど、アップデート前の状態に戻したいときの方法です。ただし、あくまでも緊急時であり、アップデート前にはバックアップを取得して、そちらから戻しましょう。

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: トランザクションは正常に完了しましたが、警告/エラーが出力されました。
タイトルとURLをコピーしました