AL2023 での Linux カーネルの更新 - Amazon Linux 2023

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AL2023 での Linux カーネルの更新

AL2023 の Linux カーネルバージョン

AL2023 では、Linux カーネルの長期サポート (LTS) バージョンに基づいて新しいカーネルバージョンが定期的に提供されます。

AL2023 は、もともとカーネル 6.1 で 2023 年 3 月にリリースされました。

2025 年 4 月、AL2023 に Linux カーネル 6.12 のサポートが追加されました。このカーネルでは、EEVDF スケジューリング、FUSE パススルー I/O サポート、新しい Futex API、拡張 eBPF などの新機能が追加されました。また、ユーザースペースのプログラムが、ランタイムにユーザースペースのシャドウスタックとメモリシーリングを用いて自身を保護することも可能になりました。

AL2023 のカーネル 6.12 への更新

AL2023 をカーネル 6.12 で実行するには、カーネル 6.12 がプリインストールされた AMI を選択するか、既存の AL2023 EC2 インスタンスをアップグレードします。

AL2023 カーネル 6.12 AMI を実行する

AWS コンソールを使用して、または SSM で特定のパラメータをクエリすることで、カーネル 6.12 がプリインストールされた AL2023 AMI の実行を選択できます。クエリを実行する SSM キーは /aws/service/ami-amazon-linux-latest/ で始まり、その後に次のいずれかが続きます。

  • arm64 アーキテクチャの al2023-ami-kernel-6.12-arm64

  • arm64 アーキテクチャ用 (最小 AMI) の al2023-ami-minimal-kernel-6.12-arm64

  • x86_64 アーキテクチャの al2023-ami-kernel-6.12-x86_64

  • x86_64 アーキテクチャ (最小 AMI) の al2023-ami-minimal-kernel-6.12-x86_64

AL2023 AMI の選択の詳細については、「SSM パラメータと を使用して AL2023 を起動するAWS CLI」を参照してください。

AL2023 インスタンスをカーネル 6.12 に更新する

以下の手順に従って、実行中の AL2023 インスタンスをカーネル 6.12 にインプレースアップグレードできます。

  1. kernel6.12 パッケージをインストールします。

    $ sudo dnf install -y kernel6.12
  2. kernel6.12 パッケージの最新バージョンを取得します。

    $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel6.12 | sort -V | tail -1)
  3. 新しい kernel6.12 をデフォルトのカーネルに設定します。

    $ sudo grubby --set-default "/boot/vmlinuz-$version"
  4. システムを再起動します。

    $ sudo reboot
  5. カーネル 6.1 をアンインストールします。

    $ sudo dnf remove -y kernel
  6. 追加のカーネルパッケージを kernel6.12 の該当するものに置き換えます。

    $ declare -A pkgs $ pkgs=( [bpftool]=bpftool6.12 [kernel-debuginfo]=kernel6.12-debuginfo [kernel-debuginfo-common]=kernel6.12-debuginfo-common [kernel-headers]=kernel6.12-headers [kernel-libbpf]=kernel6.12-libbpf [kernel-libbpf-devel]=kernel6.12-libbpf-devel [kernel-libbpf-static]=kernel6.12-libbpf-static [kernel-modules-extra-common]=kernel6.12-modules-extra-common [kernel-tools]=kernel6.12-tools [kernel-tools-devel]=kernel6.12-tools-devel [perf]=perf6.12 [python3-perf]=python3-perf6.12 ) $ for pkg in "${!pkgs[@]}"; do rpm -q $pkg && sudo dnf -y swap $pkg "${pkgs["$pkg"]}" ; done
  7. (オプション) カーネル 6.1 の kernel-devel をアンインストールします。

    $ rpm -q kernel-devel && sudo dnf remove -y kernel-devel

カーネル 6.12 からカーネル 6.1 にダウングレードする

カーネル 6.1 にダウングレードする必要が生じた場合は、次の手順を実行します。

  1. 追加の kernel6.12 パッケージを kernel6.1 の該当するものに置き換えます。

    $ declare -A pkgs $ pkgs=( [bpftool]=bpftool6.12 [kernel-debuginfo]=kernel6.12-debuginfo [kernel-debuginfo-common]=kernel6.12-debuginfo-common [kernel-headers]=kernel6.12-headers [kernel-libbpf]=kernel6.12-libbpf [kernel-libbpf-devel]=kernel6.12-libbpf-devel [kernel-libbpf-static]=kernel6.12-libbpf-static [kernel-modules-extra-common]=kernel6.12-modules-extra-common [kernel-tools]=kernel6.12-tools [kernel-tools-devel]=kernel6.12-tools-devel [perf]=perf6.12 [python3-perf]=python3-perf6.12 ) $ for pkg in "${!pkgs[@]}"; do rpm -q "${pkgs["$pkg"]}" && sudo dnf -y swap "${pkgs["$pkg"]}" $pkg ; done
  2. kernel パッケージをインストールします。

    $ sudo dnf install -y kernel
  3. kernel パッケージの最新バージョンを取得します。

    $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel | sort -V | tail -1)
  4. カーネル 6.1 をデフォルトのカーネルに設定します。

    $ sudo grubby --set-default "/boot/vmlinuz-$version"
  5. システムを再起動します。

    $ sudo reboot
  6. カーネル 6.12 をアンインストールします。

    $ sudo dnf remove -y kernel6.12

AL2023 カーネル - よくある質問

1. カーネルの更新後には再起動が必要ですか?

実行中のカーネルに変更を加えた場合は必ず再起動が必要です。

2. 複数のインスタンスでカーネルを最新の状態に保つにはどうすればよいですか?

Amazon Linux には、インスタンスのフリートを管理する機能はありません。AWS Systems Manager などのツールを使用して、大規模なフリートにパッチを適用することをお勧めします。

3. 現在実行しているカーネルのバージョンを確認するにはどうすればよいですか?

AL2023 インスタンスで次のコマンドを実行します。

$ uname -r

4. カーネル 6.12 のカーネルヘッダー、開発パッケージ、および追加モジュールをインストールするにはどうすればよいですか?

以下を実行してください。

$ sudo dnf install -y kernel6.12-modules-extra-$(uname -r) kernel6.12-headers-$(uname -r) kernel6.12-devel-$(uname -r)