AmazonLinux2023のカーネルをダウングレードする


環境

  • Amazon Linux 2023.5.20240819

概要

AmazonLinux2023のカーネルをアップグレードしたところ、動作しなくなるツールが出てきてしまったためダウングレードしました。
その操作手順の記録です。

手順

まず、現在のカーネルの状態を確認します。

$uname -r
6.1.102-111.182.amzn2023.x86_64

$ sudo dnf list kernel
kernel.x86_64   6.1.92-99.174 amzn2023     @amazonlinux
kernel.x86_64   6.1.96-102.177.amzn2023    @amazonlinux
kernel.x86_64   6.1.102-111.182.amzn2023   @amazonlinux

現状は6.1.102になっていますが、6.1.96にダウングレードしていきます。

おそらく最短の方法

まず、ダウングレードして再起動します。
「パッケージ名-バージョン」と指定をすることで特定のバージョンに戻れるようです。

$ sudo dnf downgrade kernel-6.1.96-102.177.amzn2023
$ sudo reboot

再起動後、カーネルを確認するとダウングレードできているはずです。

$ uname -r
6.1.96-102.177.amzn2023.x86_64

適用されているバージョンは戻しましたが、最新バージョンのパッケージは残っているので削除しておきます。
こちらも「パッケージ名-バージョン」で特定バージョンのremoveができます。

$ sudo dnf remove kernel-6.1.102-111.182.amzn2023

これでダウングレード完了です。

参考:実際にやった手順

思考錯誤しながらやっていたので結構遠回しをしました。
まず、ダウングレードして再起動します。

$ sudo dnf downgrade kernel
$ sudo reboot

再起動後、カーネルを確認してみます。

$ uname -r
6.1.92-99.174.amzn2023.x86_64

戻りすぎてしまいました。
どうやらバージョン指定をしないと戻れるだけ戻ってしまうようです。

なので、狙いのバージョンにアップデートします。
該当バージョンを一度削除しないとバージョンアップできないので、現バージョンより新しいものは一旦削除します。

$ sudo dnf remove kernel-6.1.96-102.177.amzn2023
$ sudo dnf remove kernel-6.1.102-111.182.amzn2023

アップデートして再起動します。
この際、また新しくなり過ぎないようにreleaseverでOSのバージョンを指定します。
※後で思ったが、kernelのバージョンを指定すれば良いだけだったしれない。

$ sudo dnf list kernel --releasever=2023.5.20240708
kernel.x86_64   6.1.92-99.174 amzn2023     @amazonlinux
kernel.x86_64   6.1.96-102.177.amzn2023    @amazonlinux
↑狙いのバージョンが最新になっている事を確認。違ったらreleaseverを変える。

$ sudo dnf update kernel --releasever=2023.5.20240708
$ sudo reboot

releaseverで指定するバージョンはAL2023のリリースノートなどを参照してください。
https://docs.aws.amazon.com/ja_jp/linux/al2023/release-notes/relnotes.html

再起動後、カーネルを確認したら無事狙いのバージョンになっていました。

$ uname -r
6.1.96-102.177.amzn2023.x86_64