

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

# AL2023 の更新
<a name="updating"></a>

セキュリティ更新プログラムや新機能を活用するには、AL2023 リリースを常に最新の状態に保つことが重要です。AL2023 を使用すると、[AL2023 でのバージョン管理されたリポジトリを介した確定的なアップグレード](deterministic-upgrades.md) を使用して、環境全体でパッケージバージョンおよび更新の一貫性を確保できます。

**警告**  
 `dnf --releasever=latest update` を実行することはベストプラクティスではありません。これを実行すると、OS の更新が最初に本番環境でテストされる結果を招く可能性があります。  
 `latest` を使用する代わりに、特定の AL2023 リリースバージョンを使用してください。これにより、以前にテストしたのと同じ変更を本稼働インスタンスにデプロイできます。たとえば、 `dnf --releasever=2023.10.20260325 update`は常に 2023.10.20260325 リリースに更新されます。  
 詳細については、「[AL2023 ユーザーガイド](https://docs.aws.amazon.com/linux/al2023/ug/)」の「[AL2023 の更新](https://docs.aws.amazon.com/linux/al2023/ug/updating.html)」を参照してください。

**Topics**
+ [更新を安全にデプロイするためのベストプラクティス](updating-best-practice.md)
+ [新しいアップデートの通知を受け取る](receive-update-notification.md)
+ [AL2023 でのバージョン管理されたリポジトリを介した確定的なアップグレード](deterministic-upgrades.md)
+ [AL2023 のパッケージとオペレーティングシステムとの更新を管理する](managing-repos-os-updates.md)
+ [AL2023 のカーネルライブパッチ](live-patching.md)
+ [AL2023 での Linux カーネルの更新](kernel-update.md)

# 更新を安全にデプロイするためのベストプラクティス
<a name="updating-best-practice"></a>

 Amazon Linux 2023 (AL2023) には、オペレーティングシステムの更新を安全にデプロイし、更新間で何が変更されたかを把握したうえで、必要に応じて簡単に以前のバージョンに戻せるように設計されたいくつかの機能があります。このセクションでは、Amazon Linux の 10 年以上の内部および外部使用 AWS から学んだ教訓について説明します。

**警告**  
 `dnf --releasever=latest update` を実行することはベストプラクティスではありません。これを実行すると、OS の更新が最初に本番環境でテストされる結果を招く可能性があります。  
 `latest` を使用する代わりに、特定の AL2023 リリースバージョンを使用してください。これにより、以前にテストしたのと同じ変更を本稼働インスタンスにデプロイできます。たとえば、 `dnf --releasever=2023.10.20260325 update`は常に 2023.10.20260325 リリースに更新されます。  
 詳細については、「[AL2023 ユーザーガイド](https://docs.aws.amazon.com/linux/al2023/ug/)」の「[AL2023 の更新](https://docs.aws.amazon.com/linux/al2023/ug/updating.html)」を参照してください。

 OS 更新のデプロイの安全性を計画しない場合、アプリケーションやサービスと OS 更新の間で想定外のマイナスの相互作用が発生した際の影響が大幅に大きくなり、最悪の場合、全面的なサービス停止に至る可能性があります。ソフトウェアの問題と同様に、問題が検出されるのが早いほど、エンドユーザーへの影響が少なくなります。

 OS 更新について、根本的に誤っている 2 つの思い込みに陥らないことが重要です。

1. OS ベンダーが OS の更新においてミスをすることはない。

1. ユーザーが依存する OS の特定の動作またはインターフェイスが、OS ベンダーが依存対象と見なす動作とインターフェイスと一致している。

   つまり、OS ベンダーとユーザーが、更新に問題があったと同意できる。

 善意に頼らず、あらゆる OS の更新において、デプロイの安全性を*確保できる*システムを構築する必要があります。

 本番環境にデプロイして、新しい OS 更新をテストすることはお勧めしません。ベストプラクティスは、OS をデプロイの構成要素の 1 つと見なし、本番環境への他の変更に適していると思われるものと同様のデプロイ安全メカニズムの適用を検討することです。

 ベストプラクティスは、本番環境システムにデプロイする前に、すべての OS 更新をテストすることです。デプロイ時は、段階的なロールアウトと適切なモニタリングの併用をお勧めします。段階的なロールアウトにより、問題が発生した場合でも、即時ではないにしても影響をフリートのサブセットに限定できます。また、調査と影響の軽減を実施する間、その後の更新のデプロイを停止できます。

 OS の更新による悪影響の軽減は、問題がどこにあっても、多くの場合において最優先事項であり、その次が問題の解決になります。OS 更新の導入が悪影響と相関する場合に、正常動作が確認されている以前の OS のバージョンにロールバックできる機能は強力なツールとなります。

 Amazon Linux 2023 では、OS (または個々のパッケージ) のバージョンへの変更が繰り返し可能になる強力な新機能の [バージョン管理されたリポジトリを介した確定的なアップグレード](deterministic-upgrades.md) が導入されています。そのため、ある OS バージョンから次の OS バージョンへの移行時に問題が発生した場合でも、問題の解決策を検討しながら、既知の正常動作バージョンの使用を継続するため簡単なメカニズムが利用できます。

 AL2023 では、新しいパッケージ更新をリリースするたびに、ロックする新しいバージョンと、そのバージョンにロックされる新しい AMI があります。[AL2023 リリースノート](https://docs.aws.amazon.com/linux/al2023/release-notes/)では、各リリースの変更と、パッケージの更新で対処されたセキュリティ上の問題[AL2023 に関する Amazon Linux セキュリティアドバイザリ](alas.md)について説明します。

 例えば、[2023.6.20241028](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html) リリースに存在する問題の影響を受けた場合、AMI とコンテナ イメージを使用して、以前の [2023.6.20241010](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html) リリースに素早く戻すことができます。この場合、後続の [2023.6.20241031](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241031.html) リリースでパッケージのバグが修正されましたが、[バージョン管理されたリポジトリを介した確定的なアップグレード](deterministic-upgrades.md) により、影響を受けるすべてのユーザーが以前のイメージを使用するだけで、*即座に*即座に影響を緩和するための簡単な措置を取ることができました。

 また、[バージョン管理されたリポジトリを介した確定的なアップグレード](deterministic-upgrades.md) は、進行中の OS 更新のデプロイが、現在の環境での更新または新たなAMIまたはコンテナイメージの起動によって、後続としてリリースされる OS 更新の影響を受けないことを保証します。

 この最初の例では、フリート A は [2023.5.20241001](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20241001.html) から [2023.6.20241010](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html) リリースへの更新デプロイ途中の大規模なフリートです。ここで、[2023.6.20241028](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html) リリースが公開されました。[バージョン管理されたリポジトリを介した確定的なアップグレード](deterministic-upgrades.md) は、フリート A のデプロイが適用される更新内容に変更なく継続されることを意味します。

 最初にフリートの 1% にデプロイし、次に 5%、10%、20%、40% を 100% に達するまでデプロイするといった段階的なデプロイ戦略の目的は、より広範囲に展開する前に、限られた方法で変更をテストできるようにすることです。このタイプのデプロイ戦略は、本番環境の変更をデプロイするためのベストプラクティスであると一般的に考えられています。

 段階的なデプロイ戦略とフリート A の[2023.6.20241010](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html) への更新は、一度に多くのホストにデプロイされるステージにあり、[2023.6.20241028](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html) がリリースされたという事実は、[バージョン管理されたリポジトリを介した確定的なアップグレード](deterministic-upgrades.md) を使用しているため、*進行中のデプロイには影響しません*。

 フリート B が古いバージョンである [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) を実行中で、[2023.6.20241028](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html) への更新のデプロイを開始しており、フリート B がそのバージョンの問題の影響を受けた場合、デプロイの早い段階でこの問題に気付くでしょう。その時点で、当該問題の修正が利用可能になるまでロールアウトを一時停止するか、または同じバージョンである [2023.6.20241010](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html) のデプロイを開始し、フリート B が [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html)～[2023.6.20241010](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html) 間のすべての更新をフリート B が取得できるようにするかどうかについて、判断することができます。

 OS の更新をすぐに適用*しない*問題が発生する可能性があることに注意してください。新しい更新には、環境に関連するバグやセキュリティの修正が含まれている可能性があります。詳細については、「[Amazon Linux 2023 でのセキュリティおよびコンプライアンス](security.md)」および「[AL2023 のパッケージとオペレーティングシステムとの更新を管理する](managing-repos-os-updates.md)」を参照してください。

 新しい OS 更新を簡単に取得し、本番環境へのデプロイ前にテストできるよう、デプロイシステムを適切に構成することが重要です。また、段階的なデプロイなどの仕組みを利用して、悪影響を最小限に抑えることも重要です。OS 更新による悪影響を軽減するために、デプロイ システムに正常動作が確認されている OS の以前のバージョンへ切り替える方法を知っておくことが重要です。問題の解決後は、当該旧バージョンの使用を継続するのではなく、新しく、正常動作が確認されているバージョンに移行します。

## マイナーな更新のための準備
<a name="prepare-for-minor-updates"></a>

 OS の小規模な更新 (AL2023 の新しいポイントリリースなど) に向けた準備は、ゼロに近い手間で済むように設計されています。今後の変更については、[AL2023 リリース ノート](https://docs.aws.amazon.com/linux/al2023/release-notes/)を必ずお読みください。

 [パッケージのサポート期間](https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-support-statement.html)が終了すると、言語ランタイムの新しいバージョン ([AL2023 での PHP](php.md) など) への移行が必要になる場合があります。ベストプラクティスは、サポート期間が終了する前に、新しい言語ランタイム バージョンに快適に移行することで、事前にこれに備えることです。

 [`pcre` バージョン 1](deprecated-al2023.md#deprecated-pcre) などのパッケージの場合、事前に計画し、コードのいずれかを代替バージョンに移行する機会もあります。この場合、コードは`pcre`バージョン 2 です。万一の遅滞に備えて、できるだけ速やかに行うのがベストプラクティスです。

 [Berkeley DB (`libdb`)](deprecated-al2023.md#deprecated-bdb) などに直接置き換えられない場合は、ユースケースに基づいた選択が必要になる場合があります。

## メジャーな更新の準備
<a name="prepare-for-major-updates"></a>

 オペレーティング システムの新しいメジャー バージョンへの更新は、ほぼ普遍的に計画が必要とし、変更または廃止された機能に適応し、デプロイ前にテストを行う必要があります。Amazon Linux 2023 の次のメジャー バージョンへの移行準備を段階的に進めることは珍しいことではありません。廃止された機能や削除された機能の使用に対応してから、次のメジャー バージョンへの移行を進めるといった方法をとることができます。

 例えば、AL2 から AL2023 に移行する場合、[AL2 で廃止され、AL2023 で削除された機能](deprecated-al2.md) セクションを参照すると、AL2 を継続使用しながら AL2023 の準備をしている間に、安全で小さなステップでの段階的な移行が可能になります。例えば、`yum` パッケージ マネージャーなどの OS 使用以外のあらゆる [Python 2.7 は Python 3 に置き換えられました](python2.7-no-more.md) の使用は、[AL2023 での Python](python.md) の使用に備えて Python 3 に移行できます。[PHP](php.md) を使用する場合、AL2 (PHP 8.2 [AL2 Extra](https://docs.aws.amazon.com/linux/al2/ug/al2-extras.html) 経由) と AL2023 の両方が PHP 8.2 を搭載しているため、PHP バージョン移行と OS 移行の両方を同時に行う必要はありません。

 AL2023 の使用中は、AL2023 を使用しながら、Amazon Linux 2023 の次のメジャー バージョンへの準備を今から行うこともできます。[AL2023 で廃止](deprecated-al2023.md) セクションでは、AL2023 で廃止され、削除される予定の機能とパッケージについて説明します。

 例えば、`init` スクリプトなどの残存する [System V init (`sysvinit`)](deprecated-al2023.md#deprecated-sysv-init) の使用を`systemd` に対応した同等のものに移行することで、将来へ備えるとともに、`systemd` 機能の全セットを使用して、サービスの監視、再起動の方法とその必要性、必要な他のサービス、リソースやアクセス許可の制限を適用する必要性の有無を判断できるようになります。

 32 ビット サポートなどの機能の場合、廃止が OS の複数のメジャー バージョンにまたがる可能性があります。32 ビット版の場合、Amazon Linux 1 (AL1) は [32 ビット x86 (i686) AMI](deprecated-al1.md#deprecated-32bit-amis)、Amazon Linux 2 は [32 ビット x86 (i686) パッケージ](deprecated-al2.md#deprecated-32bit-rpms)、Amazon Linux 2023 は [32bit x86 (i686) ランタイムのサポート](deprecated-al2023.md#deprecated-32bit) をそれぞれ廃止します。[IMDSv1](deprecated-al2023.md#deprecated-imdsv1) からの移行は、OS の複数のメジャー バージョンにも及びます。これらのタイプの変更については、一部のユーザーにおいて適応に長時間を要することが認識されているため、Amazon Linux 2023 で当該機能が利用できなくなるまで、十分な猶予期間が設定されています。

 廃止機能のリストは OS のライフサイクルを通じて更新されるため、その最新の変更内容を常に把握されることをお勧めします。

# 新しいアップデートの通知を受け取る
<a name="receive-update-notification"></a>

新しい AL2023 AMI がリリースされると毎回通知を受け取ることができます。通知は、以下のトピックを使用して [Amazon SNS](https://aws.amazon.com/sns/) で公開されます。

```
arn:aws:sns:us-east-1:137112412989:amazon-linux-2023-ami-updates
```

新しい AL2023 AMI が公開されると、メッセージがここに投稿されます。AMI のバージョンはメッセージに含まれます。

これらのメッセージは複数の方法で受信できます。次の方法を使用することをお勧めします。

1. [[Amazon SNS コンソール]](https://console.aws.amazon.com/sns/v3/home) を開きます。

1. ナビゲーションバーで、必要に応じて、AWS リージョン を [**米国東部 (バージニア北部)**] に変更します。サブスクライブする SNS 通知が作成されたリージョンを選択する必要があります。

1. ナビゲーションペインで、[**Subscriptions**]、[**Create subscription**] の順に選択します。

1. [**サブスクリプションの作成**] ダイアログボックスで、次の操作を行います。

   1. **[トピック ARN]** に、**Amazon リソースネーム** (ARN) **arn:aws:sns:us-east-1:137112412989:amazon-linux-2023-ami-updates** をコピーして貼り付けます。

   1. [**プロトコル**] で [**E メール**] を選択します。

   1. [**エンドポイント**] に、通知を受信するために使用できる E メールアドレスを入力します。

   1. [**サブスクリプションを作成**] を選択します。

1. 「AWS 通知 - サブスクリプションの確定」という件名の確認メールを受け取ります。メールを開いて [**サブスクリプションを確定**] を選択して受信登録を完了します。

# AL2023 でのバージョン管理されたリポジトリを介した確定的なアップグレード
<a name="deterministic-upgrades"></a>

**注記**  
デフォルトでは、AL2023 インスタンスは起動時に追加のクリティカルかつ重要なセキュリティアップデートを自動的に受信しません。インスタンスには、AL2023 のバージョンで利用可能であった更新および選択した AMI が含まれています。

## メジャーリリースとマイナーリリースから受け取る更新を管理する
<a name="controlling-release-updates"></a>

AL2023 を使用すると、環境全体でパッケージバージョンと更新の一貫性を確保できます。同じ Amazon マシンイメージ (AMI) の複数のインスタンスで一貫性を保つこともできます。デフォルトで有効になっているバージョン化されたリポジトリによる確定的なアップグレード機能を使用すると、特定の必要に応じたスケジュールに基づいて更新を適用できます。

新しいパッケージ更新をリリースするたびに、ロックする新しいバージョンと、そのバージョンにロックされる新しい AMI があります。

AL2023 はリポジトリの特定のバージョンにロックされます。これはメジャーバージョンとマイナーバージョンの両方でサポートされています。SSM パラメータによって公開される AL2023 AMI は、常に最新バージョンです。重要かつ重要なセキュリティ更新を含む、最新のパッケージおよび更新が含まれています。

既存の AMI からインスタンスを起動した場合、更新は自動的には適用されません。プロビジョニングの一部としてインストールされたすべての追加パッケージは、既存の AMI のリポジトリバージョンにマップされます。

この機能では、環境全体でパッケージバージョンと更新の一貫性を確保する必要があります。これは、同じ AMI から複数のインスタンスを起動する場合に特に当てはまります。必要に応じたスケジュールに基づいて更新を適用できます。特定の更新セットを特定のリポジトリバージョンにロックすることもできるので、起動時に特定の更新セットを適用することもできます。

## メジャーバージョンとマイナーバージョンのアップグレードの違い
<a name="differences-updates-upgrades"></a>

AL2023 のメジャーバージョンリリースには大規模な更新が含まれており、パッケージを追加、削除、または更新する場合があります。互換性を確保するため、新しいメジャーバージョンでアプリケーションをテストしてからインスタンスを新しいメジャーバージョンにアップグレードします。

AL2023 のマイナーバージョンリリースには機能更新とセキュリティ更新が含まれていますが、パッケージの変更は含まれていません。これにより、Linux の機能とシステムライブラリ API を新しいバージョンでも引き続き利用できます。更新前にアプリケーションをテストする必要はありません。

## 更新が利用可能になる時期の確認
<a name="knowing-when-to-update"></a>

 更新を適用するには、更新が利用可能であることを知り、更新のデプロイ方法を知っておく必要があります。

 新しい AL2023 AMI のリリース時に派生した AMI を構築する場合は、[EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/) で AMI の自動的な構築、パッチ適用、テストを行うことができます。独自の AMI 構築パイプラインをトリガーしたり、ベース AMI を使用したりするには、[新しいアップデートの通知を受け取る](receive-update-notification.md)ことができます。

 インプレースパッチ適用では、[AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) などのツールを使用して、フリート全体への更新の適用をオーケストレーションできます。

 AL2023 に基づく他のパブリック AMI の場合、AMI のプロバイダーごとにリリーススケジュールや通知方法は異なる場合があります。派生 AMI またはコンテナイメージを使用する場合は、更新のリリース時期についてパブリッシャーのドキュメントを確認してください。

 各リリースの変更は、「[AL2023 リリースノート](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html)」に記載されています。セキュリティアドバイザリは、[Amazon Linux セキュリティセンター (ALAS)](https://alas.aws.amazon.com) で公開されています。

## AL2023 リポジトリから入手できるパッケージ更新を管理する
<a name="control-package-updates"></a>

AL2023 リポジトリの新しいバージョンを公開しても、以前のバージョンはすべて引き続き利用できます。デフォルトでは、リポジトリのバージョンを管理するためのプラグインは、AMI の構築に使用されたのと同じバージョンにロックされます。パッケージの更新をコントロールする場合は、以下の手順に従います。

1. 以下のコマンドを実行して、使用可能なリポジトリバージョンを確認します。

   ```
   $ sudo dnf check-release-update
   ```

1. 以下のコマンドを実行して、バージョンを選択します。

   ```
   $ sudo dnf upgrade --releasever=version
   ```

このコマンドは、`dnf` を使用して現在の Amazon Linux リリースバージョンからコマンドラインで指定されたリリースバージョンへの更新を開始します。パッケージ更新のリストは `dnf` によって表示されます。更新が処理される前に、更新を確認する必要があります。更新が完了すると、新しいリリースバージョンが、今後のすべてのアクティビティに使用される `dnf` のデフォルトのリリースバージョンになります。

詳細については、「[AL2023 のパッケージとオペレーティングシステムとの更新を管理する](managing-repos-os-updates.md)」を参照してください。

# インスタンスの置き換えによる確定的な更新
<a name="security-instance-replacement"></a>

 「[AL2023 でのバージョン管理されたリポジトリを介した確定的なアップグレード](deterministic-upgrades.md)」で説明されている Amazon Linux 2023 の機能を使用すると、インスタンスの置き換えを簡単に行って、AL2023 の更新バージョンを確定的かつ安全にロールアウトできます。確定的な更新とは、新しいバージョンが段階的にロールアウトされる過程で、問題が見つかった場合に、問題の原因を特定しながら以前の AMI に簡単にロールバックできることを意味します。

 インプレースでのパッチ適用ではなくインスタンスの置き換えを使用すると、新しいキャパシティの起動が、明確な状態 A と状態 B を持つ十分にテストされたコードパスとなり、更新がより確定的で予測可能になります。各前後の状態は、デプロイを開始する前に CI/CD システムで十分にテストできます。

 インプレースでのパッチ適用を実行すると、更新プログラムを適用する前と後の間に多くの中間状態が生じ、状態のすべての組み合わせをテストするのが難しくなります。

 インスタンスの置き換えを使用して確定的な更新を適用する OS 更新戦略は、blue/green、ウェーブ、フェーズベースのデプロイモデルに適しています。

# バージョン管理されたリポジトリによる確定的アップグレードの使用
<a name="deterministic-upgrades-usage"></a>

**Topics**
+ [確定的なアップグレードシステムを使用する](#using-a-deterministic-upgraded-system)
+ [確定的なアップグレードされたシステムの選択的更新](#deterministic-upgrade-selective-update)
+ [確定的なアップグレードでの永続的上書きの使用](#deterministic-upgrade-override-persist)

## 確定的なアップグレードシステムを使用する
<a name="using-a-deterministic-upgraded-system"></a>

**注記**  
 パッケージマネージャーのデフォルトの動作が AL2 から変更されました。

 確定的アップグレードは、すべての変更を本番環境に本格的にデプロイする前に詳細にテストできる強力な方法です。新しい各 AL2023 AMI は、特定バージョンの AL2023 にロックされます。これにより、特定の AMI の起動時に、どのバージョンの OS パッケージをインストールするかが確定的に判断されます。インプレース更新はリリースバージョンを特定できるため、フリート全体の確定的な動作が保証されます。新しい AMI またはインプレース更新バージョンに移行する際は、各バージョンを CI/CD パイプラインでテストし、本番環境にデプロイする前に潜在的な問題を検出できます。

 [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) などのツールを使用して、フリート全体での更新の適用をオーケストレーションできます。新しい AL2023 AMI のリリース時に派生 AMI を構築する場合は、[EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/) により、AMI の自動的な構築、パッチ適用、テストができます。または[新しいアップデートの通知を受け取る](receive-update-notification.md)により、新しいベース AMI がいつ利用可能になるかを確認したり、独自の AMI 構築パイプラインをトリガーしたりできます。

 特定のアドバイザリからの更新のみに制限する方法については、「[セキュリティ更新プログラムのインプレースでの適用](security-inplace-update.md)」を参照してください。

 インプレースのパッチ適用には、`dnf` パッケージマネージャーを使用できます。`dnf upgrade` コマンドを実行すると、システムは `releasever` 変数が指定するリポジトリ内のアップグレードをチェックします。有効な `releasever`は、*最新の*バージョンまたは *2023.10.20260325* などの日付スタンプ付きバージョンです。

以下のいずれかの方法を使用して、`releasever` の値を変更できます。これらの方法は、システム優先度の降順で一覧表示されています。つまり、方法 1 は方法 2 と 3 を上書きし、方法 2 は方法 3 を上書きします。

1. コマンドラインフラグ内の値 `--releasever=latest` (使用する場合)。

1. 上書き変数ファイル で指定されている値 `/etc/dnf/vars/releasever` (設定されている場合)。

1. 現在インストールされている `system-release` パッケージのバージョン。

以下の例ではバージョンは、*2023.0.20230210* です。

```
$ rpm -q system-release
system-release-2023.0.20230210-0.amzn2023.noarch
```

新しくインストールされたシステムには、上書き変数は存在しません。システムはインストールした `system-release` のバージョンのにロックされているため、アップグレードはできません。

```
$ cat /etc/dnf/vars/releasever
cat: /etc/dnf/vars/releasever: No such file or directory
```

```
$ sudo dnf upgrade
Last metadata expiration check: 0:00:02 ago on Wed 15 Feb 2023 06:14:12 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!
```

`releasever` フラグを使用して必要なバージョンを指定することで、特定のバージョンのパッケージを取得できます。

```
$ rpm -q system-release
system-release-2023.0.20230222-0.amzn2023.noarch
```

```
$ sudo dnf upgrade --releasever=2023.0.20230329
Amazon Linux 2023 repository                     26 MB/s |  12 MB     00:00
Dependencies resolved.
================================================================================
 Package                 Arch    Version                      Repository   Size
================================================================================
Installing:
 kernel                   aarch64 6.1.21-1.45.amzn2023        amazonlinux  26 M
Upgrading:
 amazon-linux-repo-s3     noarch  2023.0.20230329-0.amzn2023  amazonlinux  18 k
 ca-certificates          noarch  2023.2.60-1.0.amzn2023.0.1  amazonlinux 828 k
 cloud-init               noarch  22.2.2-1.amzn2023.1.7       amazonlinux 1.1 M

         ... [ list edited for clarity ]

 system-release           noarch  2023.0.20230329-0.amzn2023  amazonlinux  29 k

         ... [ list edited for clarity ]
          
 vim-data                 noarch  2:9.0.1403-1.amzn2023.0.1   amazonlinux  25 k
 vim-minimal              aarch64 2:9.0.1403-1.amzn2023.0.1   amazonlinux 753 k

Transaction Summary
================================================================================
Install    1 Package
Upgrade   42 Packages

Total download size: 56 M
```

`--releasever` オプションは `system-release` と `/etc/dnf/vars/releasever` の両方を上書きするため、このアップグレードの結果は以下のようになります。

1. アップグレードにより、以前のバージョンと新しいバージョンとの間で変更されたインストール済みパッケージがすべて置き換えられます。

1. アップグレードすると、システムは新しい `system-release` のバージョンのリポジトリにロックされます。

 どの `releasever` (AL2023 リリース) を更新するかを常に指定することで、フリート全体での変更を確定的に把握できます。バージョン *A* を起動して、*B* に更新し、さらに *C* に更新しました。

## 確定的なアップグレードされたシステムの選択的更新
<a name="deterministic-upgrade-selective-update"></a>

**注記**  
 特定の更新を選択するのではなく、新しいリリースのすべての更新をインストールすることをお勧めします。OS に更新の一部のみを適用することは、更新全体を適用するという標準プラクティスの例外です。

システムを元のリリースバージョンにロックしたまま、最近のリリースから選択したパッケージをインストールするとします。

`dnf check-update` を使用して、アップグレードするパッケージを特定します。

```
$ sudo dnf check-update --releasever=latest --security
Amazon Linux 2023 repository                     13 MB/s |  10 MB     00:00
Last metadata expiration check: 0:00:02 ago on Wed 15 Feb 2023 02:52:21 AM UTC.

bind-libs.aarch64                  32:9.16.27-1.amzn2023.0.1         amazonlinux
bind-license.noarch                32:9.16.27-1.amzn2023.0.1         amazonlinux
bind-utils.aarch64                 32:9.16.27-1.amzn2023.0.1         amazonlinux
cryptsetup.aarch64                 2.4.3-2.amzn2023.0.1              amazonlinux
cryptsetup-libs.aarch64            2.4.3-2.amzn2023.0.1              amazonlinux
curl-minimal.aarch64               7.85.0-1.amzn2023.0.1             amazonlinux
glibc.aarch64                      2.34-40.amzn2023.0.2              amazonlinux
glibc-all-langpacks.aarch64        2.34-40.amzn2023.0.2              amazonlinux
glibc-common.aarch64               2.34-40.amzn2023.0.2              amazonlinux
glibc-locale-source.aarch64        2.34-40.amzn2023.0.2              amazonlinux
gmp.aarch64                        1:6.2.1-2.amzn2023.0.1            amazonlinux
gnupg2-minimal.aarch64             2.3.7-1.amzn2023.0.2              amazonlinux
gzip.aarch64                       1.10-5.amzn2023.0.1               amazonlinux
kernel.aarch64                     6.1.12-17.42.amzn2023             amazonlinux
kernel-tools.aarch64               6.1.12-17.42.amzn2023             amazonlinux
libarchive.aarch64                 3.5.3-2.amzn2023.0.1              amazonlinux
libcurl-minimal.aarch64            7.85.0-1.amzn2023.0.1             amazonlinux
libsepol.aarch64                   3.4-3.amzn2023.0.2                amazonlinux
libsolv.aarch64                    0.7.22-1.amzn2023.0.1             amazonlinux
libxml2.aarch64                    2.9.14-1.amzn2023.0.1             amazonlinux
logrotate.aarch64                  3.20.1-2.amzn2023.0.2             amazonlinux
lua-libs.aarch64                   5.4.4-3.amzn2023.0.1              amazonlinux
lz4-libs.aarch64                   1.9.4-1.amzn2023.0.1              amazonlinux
openssl.aarch64                    1:3.0.5-1.amzn2023.0.3            amazonlinux
openssl-libs.aarch64               1:3.0.5-1.amzn2023.0.3            amazonlinux
pcre2.aarch64                      10.40-1.amzn2023.0.1              amazonlinux
pcre2-syntax.noarch                10.40-1.amzn2023.0.1              amazonlinux
rsync.aarch64                      3.2.6-1.amzn2023.0.2              amazonlinux
vim-common.aarch64                 2:9.0.475-1.amzn2023.0.1          amazonlinux
vim-data.noarch                    2:9.0.475-1.amzn2023.0.1          amazonlinux
vim-enhanced.aarch64               2:9.0.475-1.amzn2023.0.1          amazonlinux
vim-filesystem.noarch              2:9.0.475-1.amzn2023.0.1          amazonlinux
vim-minimal.aarch64                2:9.0.475-1.amzn2023.0.1          amazonlinux
xz.aarch64                         5.2.5-9.amzn2023.0.1              amazonlinux
xz-libs.aarch64                    5.2.5-9.amzn2023.0.1              amazonlinux
zlib.aarch64                       1.2.11-32.amzn2023.0.3            amazonlinux
```

アップグレードしたいパッケージをインストールします。`sudo dnf upgrade --releasever=latest` とパッケージ名を使用して、`system-release` パッケージが変更されないようにします。

```
$ sudo dnf upgrade --releasever=latest openssl openssl-libs
Last metadata expiration check: 0:01:28 ago on Wed 15 Feb 2023 02:52:21 AM UTC.
Dependencies resolved.
================================================================================
 Package          Arch        Version                     Repository       Size
================================================================================
Upgrading:
 openssl          aarch64     1:3.0.5-1.amzn2023.0.3      amazonlinux     1.1 M
 openssl-libs     aarch64     1:3.0.5-1.amzn2023.0.3      amazonlinux     2.1 M

Transaction Summary
================================================================================
Upgrade  2 Packages

Total download size: 3.2 M
```

**注記**  
`sudo dnf upgrade --releasever=latest` を使用すると、`system-release` を含むすべてのパッケージが更新されます。その後、永続的な上書きを設定しない限り、バージョンは新しい `system-release` にロックされたままになります。

## 確定的なアップグレードでの永続的上書きの使用
<a name="deterministic-upgrade-override-persist"></a>

**注記**  
 確定的な更新により、OS の変更を CI/CD パイプラインに統合できます。確定的な更新を無効にすると、デプロイ前にテストできなくなります。

`--releasever=latest` を追加する代わりに、変数値を*最新に*設定することで、永続的な上書きを使用してシステムの*ロックを解除*できます。`latest` を常に使用すると、AL2023 の動作は AL2 更新モデルに戻ります。パッケージマネージャーへのすべての呼び出しは、*常に*最新のリリースを参照し、特定のバージョンの OS にロックされません。

**警告**  
 確定的な更新の永続的な上書きを使用してパッケージマネージャーをロック解除することで、アプリケーションと本番環境の OS 更新との潜在的な非互換性が判明するというリスクがあります。  
 非互換性はまれに*存在*しますが、OS 更新で新しいコード変更を環境に統合する場合、統合テストにより、本番環境に悪影響を及ぼすコード変更のデプロイを防止できます。

```
$ echo latest | sudo tee /etc/dnf/vars/releasever
latest
```

```
$ sudo dnf upgrade
Last metadata expiration check: 0:03:36 ago on Wed 15 Feb 2023 02:52:21 AM UTC.
Dependencies resolved.
================================================================================
 Package                 Arch    Version                      Repository   Size
================================================================================
Installing:
 kernel                  aarch64 6.1.73-45.135.amzn2023       amazonlinux  24 M
Upgrading:
 acl                     aarch64 2.3.1-2.amzn2023.0.1         amazonlinux  72 k
 alternatives            aarch64 1.15-2.amzn2023.0.1          amazonlinux  36 k
 amazon-ec2-net-utils    noarch  2.3.0-1.amzn2023.0.1         amazonlinux  16 k
 at                      aarch64 3.1.23-6.amzn2023.0.1        amazonlinux  60 k
 attr                    aarch64 2.5.1-3.amzn2023.0.1         amazonlinux  59 k
 audit                   aarch64 3.0.6-1.amzn2023.0.1         amazonlinux 249 k
 audit-libs              aarch64 3.0.6-1.amzn2023.0.1         amazonlinux 116 k
 aws-c-auth-libs         aarch64 0.6.5-6.amzn2023.0.2         amazonlinux  79 k
 aws-c-cal-libs          aarch64 0.5.12-7.amzn2023.0.2        amazonlinux  34 k
 aws-c-common-libs       aarch64 0.6.14-6.amzn2023.0.2        amazonlinux 119 k
 aws-c-compression-libs  aarch64 0.2.14-5.amzn2023.0.2        amazonlinux  22 k
 aws-c-event-stream-libs aarch64 0.2.7-5.amzn2023.0.2         amazonlinux  47 k
 aws-c-http-libs         aarch64 0.6.8-6.amzn2023.0.2         amazonlinux 147 k
 aws-c-io-libs           aarch64 0.10.12-5.amzn2023.0.6       amazonlinux 109 k
 aws-c-mqtt-libs         aarch64 0.7.8-7.amzn2023.0.2         amazonlinux  61 k
 aws-c-s3-libs           aarch64 0.1.27-5.amzn2023.0.3        amazonlinux  54 k
 aws-c-sdkutils-libs     aarch64 0.1.1-5.amzn2023.0.2         amazonlinux  26 k
 aws-checksums-libs      aarch64 0.1.12-5.amzn2023.0.2        amazonlinux  50 k
 awscli-2                noarch  2.7.8-1.amzn2023.0.4         amazonlinux 7.3 M
 basesystem              noarch  11-11.amzn2023.0.1           amazonlinux 7.8 k
 bash                    aarch64 5.1.8-2.amzn2023.0.1         amazonlinux 1.6 M
 bash-completion         noarch  1:2.11-2.amzn2023.0.1        amazonlinux 292 k
 bc                      aarch64 1.07.1-14.amzn2023.0.1       amazonlinux 120 k
 bind-libs               aarch64 32:9.16.27-1.amzn2023.0.1    amazonlinux 1.2 M
 bind-license            noarch  32:9.16.27-1.amzn2023.0.1    amazonlinux  14 k
 bind-utils              aarch64 32:9.16.27-1.amzn2023.0.1    amazonlinux 206 k
 binutils                aarch64 2.38-20.amzn2023.0.3         amazonlinux 4.6 M
 boost-filesystem        aarch64 1.75.0-4.amzn2023.0.1        amazonlinux  55 k
 boost-system            aarch64 1.75.0-4.amzn2023.0.1        amazonlinux  14 k
 boost-thread            aarch64 1.75.0-4.amzn2023.0.1        amazonlinux  54 k
 bzip2                   aarch64 1.0.8-6.amzn2023.0.1         amazonlinux  53 k
 bzip2-libs              aarch64 1.0.8-6.amzn2023.0.1         amazonlinux  44 k
 c-ares                  aarch64 1.17.2-1.amzn2023.0.1        amazonlinux 107 k
 ca-certificates         noarch  2021.2.50-1.0.amzn2023.0.3   amazonlinux 343 k
 checkpolicy             aarch64 3.4-3.amzn2023.0.1           amazonlinux 345 k
 chkconfig               aarch64 1.15-2.amzn2023.0.1          amazonlinux 162 k
 chrony                  aarch64 4.2-7.amzn2023.0.4           amazonlinux 314 k
 cloud-init              noarch  22.2.2-1.amzn2023.1.7        amazonlinux 1.1 M
 cloud-utils-growpart    aarch64 0.31-8.amzn2023.0.2          amazonlinux  31 k
 coreutils               aarch64 8.32-30.amzn2023.0.2         amazonlinux 1.1 M
 coreutils-common        aarch64 8.32-30.amzn2023.0.2         amazonlinux 2.0 M
 cpio                    aarch64 2.13-10.amzn2023.0.1         amazonlinux 269 k
 cracklib                aarch64 2.9.6-27.amzn2023.0.1        amazonlinux  83 k
 cracklib-dicts          aarch64 2.9.6-27.amzn2023.0.1        amazonlinux 3.6 M
 crontabs                noarch  1.11-24.20190603git.amzn2023.0.1
                                                              amazonlinux  19 k
 crypto-policies         noarch  20230128-1.gitdfb10ea.amzn2023.0.1
                                                              amazonlinux  61 k
 crypto-policies-scripts noarch  20230128-1.gitdfb10ea.amzn2023.0.1
                                                              amazonlinux  81 k
...
Installing dependencies:
 amazon-linux-repo-cdn   noarch  2023.0.20230210-0.amzn2023   amazonlinux  16 k
 xxhash-libs             aarch64 0.8.0-3.amzn2023.0.1         amazonlinux  32 k
Installing weak dependencies:
 amazon-chrony-config    noarch  4.2-7.amzn2023.0.4           amazonlinux  14 k
 gawk-all-langpacks      aarch64 5.1.0-3.amzn2023.0.1         amazonlinux 207 k

Transaction Summary
================================================================================
Install    5 Packages
Upgrade  413 Packages

Total download size: 199 M
```

**注記**  
上書き変数 `/etc/dnf/vars/releasever` を使用した場合は、以下のコマンドを使用して上書き値を消去してデフォルトのロック動作に戻します。  

```
$ sudo rm /etc/dnf/vars/releasever
```

 特定のバージョンではなく、`latest` の使用に対する永続的な上書きの使用は、AL2 のデフォルトの動作に似ています。AL2 に基づく AMI を構築するサービスの中には、この動作を無効にして、AL2023 でデフォルトで取得される特定のパッケージバージョンにロックするものがあります。

 確定的な更新を無効にするのではなく、インスタンスを新しい AMI から起動したインスタンスに置き換えることをお勧めします。インスタンスの置き換えが不可能な場合は、[AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) などのツールを使用して、フリート全体への更新の適用をオーケストレーションすることをお勧めします。[EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/) により、AL2023 ベースイメージから派生した独自の AMI の自動的な構築、パッチ適用、テストを行うこともできます。また、[新しいアップデートの通知を受け取る](receive-update-notification.md)ことで、独自の AMI 構築パイプラインをトリガーすることもできます。

 本番稼働前の環境で `latest` を使用し、次に `latest` を使用して本番稼働環境にデプロイすることは、OS 更新とアプリケーション間の問題から保護することに*なりません*。新しい AL2023 リリースは随時発生する可能性があるため、本番環境での `latest` のすべての使用にはリスクが伴います。

# AL2023 のパッケージとオペレーティングシステムとの更新を管理する
<a name="managing-repos-os-updates"></a>

Amazon Linux の以前のバージョンとは異なり、AL2023 AMI の Amazon Linux リポジトリは特定のバージョンにロックされています。AL2023 インスタンスにセキュリティ修正とバグ修正の両方を適用するには、DNF の設定を最新の利用可能なリリースバージョンに更新します。または、新しい AL2023 インスタンスを起動します。

 このセクションでは、実行中のインスタンスの DNF パッケージとリポジトリを管理する方法について説明します。また、ユーザーデータスクリプトから、使用可能な最新の Amazon Linux リポジトリを起動時に有効にするように DNF を設定する方法についても説明します。詳細については、「[DNF コマンドリファレンス](https://dnf.readthedocs.io/en/latest/command_ref.html)」を参照してください。

 新しい AL2023 リリースで利用可能な*すべて*の更新を適用することをお勧めします。セキュリティ更新プログラムのみ、または特定の更新プログラムのみを選択するのは例外とし、ルールにはしないでください。[セキュリティアドバイザリ](alas.md) が特定のインスタンスに関連するリストについては、「[適用可能なアドバイザリの一覧表示](listing-applicable-advisories.md)」を参照してください。特定の[アドバイザリ](alas.md)に関連する更新*のみ*インストールする方法については、「[セキュリティ更新プログラムのインプレースでの適用](security-inplace-update.md)」を参照してください。

**重要**  
 脆弱性を報告する場合、または AWS クラウドサービスやオープンソースプロジェクトに関するセキュリティ上の懸念がある場合は、[「脆弱性レポート」ページ](https://aws.amazon.com/security/vulnerability-reporting/)を使用して AWS セキュリティにお問い合わせください。

**Topics**
+ [使用可能なパッケージ更新の確認](#dnf-package-updates)
+ [DNF およびリポジトリバージョンを使用してセキュリティ更新を適用します。](#apply-security-updates)
+ [(セキュリティ) 更新後の自動サービス再起動](#automatic-restart-services)
+ [セキュリティ更新を適用する際、いつ再起動が必要になりますか?](#reboot)
+ [最新のリポジトリバージョンを有効にしたインスタンスの起動](#launch-an-instance-repo-version)
+ [パッケージサポート情報の取得](#dnf-support-info-plugin)
+ [`dnf check-release-update` を使用した新しいリポジトリバージョンの確認](#dnf-repository-updates)
+ [新しいリポジトリの追加、有効化、無効化](#dnf-repo-addition)
+ [cloud-init によるリポジトリの追加](#cloud-init-repo-update)

## 使用可能なパッケージ更新の確認
<a name="dnf-package-updates"></a>

`dnf check-update` コマンドを使用して、システムの更新を確認できます。AL2023 の場合は、コマンドに `--releasever=version-number` オプションを追加することをお勧めします。

このオプションを追加すると、DNF は新しいバージョンのリポジトリの更新も確認します。例えば、`dnf check-update` コマンドを実行した後は、返された最新のバージョンを `version-number` の値として使用します。

最新バージョンのリポジトリを使用するようにインスタンスを更新すると、出力には更新対象となるすべてのパッケージの一覧が含まれます。

**注記**  
`dnf check-update` コマンドにオプションフラグを付けてリリースバージョンを指定しない場合、現在設定されているリポジトリバージョンのみが確認されます。つまり、新しいバージョンのリポジトリにあるパッケージは確認されません。

------
#### [ Updates in a specific version ]

 この例では、[2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) リリースのコンテナを起動した場合、どの更新が [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) リリースで利用可能であるかを確認します。

**注記**  
 この例では、[2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) および [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) リリースを使用しています。これらは AL2023 の最新リリースでは*ありません*。最新のセキュリティ更新プログラムを含む最新リリースについては、「[AL2023 リリースノート](https://docs.aws.amazon.com/linux/al2023/release-notes/)」を参照してください。

 この例では、[2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) リリースのコンテナイメージから始めます。

 まず、このコンテナイメージをコンテナレジストリから取得します。末尾の `.0` は、特定のリリースにおけるイメージのバージョンを示します。このイメージのバージョンは通常 0 です。

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  2023.0.20230315.0: Pulling from amazonlinux/amazonlinux
b76f3b09316a: Pull complete
Digest: sha256:94e7183b0739140dbd5b639fb7600f0a2299cec5df8780c26d9cb409da5315a9
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
```

 これでコンテナ内にシェルを立ち上げられるようになったので、そこから更新を確認します。

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  bash-5.2#
```

 `dnf check-update` コマンドは、[2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) リリースで利用可能な更新を確認するために使用されます。

**注記**  
 パッケージの更新の適用は特権オペレーションです。コンテナで実行する場合は、通常、権限昇格は必要ありませんが、Amazon EC2 インスタンスなどのコンテナ化されていない環境で実行する場合は、権限を昇格せずに更新を*確認*できます。

```
$ dnf check-update --releasever=2023.1.20230628
Amazon Linux 2023 repository                      60 MB/s |  15 MB     00:00
Last metadata expiration check: 0:00:02 ago on Mon Jul 22 17:25:34 2024.

amazon-linux-repo-cdn.noarch        2023.1.20230628-0.amzn2023        amazonlinux
ca-certificates.noarch              2023.2.60-1.0.amzn2023.0.2        amazonlinux
curl-minimal.x86_64                 8.0.1-1.amzn2023                  amazonlinux
glib2.x86_64                        2.74.7-688.amzn2023.0.1           amazonlinux
glibc.x86_64                        2.34-52.amzn2023.0.3              amazonlinux
glibc-common.x86_64                 2.34-52.amzn2023.0.3              amazonlinux
glibc-minimal-langpack.x86_64       2.34-52.amzn2023.0.3              amazonlinux
gnupg2-minimal.x86_64               2.3.7-1.amzn2023.0.4              amazonlinux
keyutils-libs.x86_64                1.6.3-1.amzn2023                  amazonlinux
libcap.x86_64                       2.48-2.amzn2023.0.3               amazonlinux
libcurl-minimal.x86_64              8.0.1-1.amzn2023                  amazonlinux
libgcc.x86_64                       11.3.1-4.amzn2023.0.3             amazonlinux
libgomp.x86_64                      11.3.1-4.amzn2023.0.3             amazonlinux
libstdc++.x86_64                    11.3.1-4.amzn2023.0.3             amazonlinux
libxml2.x86_64                      2.10.4-1.amzn2023.0.1             amazonlinux
ncurses-base.noarch                 6.2-4.20200222.amzn2023.0.4       amazonlinux
ncurses-libs.x86_64                 6.2-4.20200222.amzn2023.0.4       amazonlinux
openssl-libs.x86_64                 1:3.0.8-1.amzn2023.0.3            amazonlinux
python3-rpm.x86_64                  4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm.x86_64                          4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm-build-libs.x86_64               4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm-libs.x86_64                     4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm-sign-libs.x86_64                4.16.1.3-12.amzn2023.0.6          amazonlinux
system-release.noarch               2023.1.20230628-0.amzn2023        amazonlinux
tzdata.noarch                       2023c-1.amzn2023.0.1              amazonlinux
bash-5.2#
```

 `system-release` パッケージのバージョンには、`dnf upgrade` コマンドが更新するリリースが表示されます。これは、`dnf check-update --releasever=2023.1.20230628` コマンドで指定された [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) リリースです。

------
#### [ Updates in the latest version ]

 この例では、[2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) リリースのコンテナを起動した場合、どの更新が AL2023 の `latest` バージョンで利用可能であるかを確認します。執筆時点で、`latest` リリースは [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) であるため、この例に記載されている更新は、そのリリース時点のものです。

**注記**  
 この例では [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) リリースと [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) リリースを使用しており、後者は*執筆時点*での最新リリースです。最新リリースの詳細については、「[AL2023 リリースノート](https://docs.aws.amazon.com/linux/al2023/release-notes/)」を参照してください。

 この例では、[2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) リリースのコンテナイメージから始めます。

 まず、このコンテナイメージをコンテナレジストリから取得します。末尾の `.1` は、特定のリリースにおけるイメージのバージョンを示します。イメージバージョンは通常ゼロですが、この例ではイメージバージョンが 1 のリリースを使用します。

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  2023.4.20240319.1: Pulling from amazonlinux/amazonlinux
6de065fda9a2: Pull complete
Digest: sha256:b4838c4cc9211d966b6ea158dacc9eda7433a16ba94436508c2d9f01f7658b4e
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
```

 これでコンテナ内にシェルを立ち上げられるようになったので、そこから更新を確認します。

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  bash-5.2#
```

 `dnf check-update` コマンドは、*執筆時点*で [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) であった `latest` リリースで利用可能な更新を確認するために使用されます。

**注記**  
 パッケージの更新の適用は特権オペレーションです。コンテナで実行する場合は、通常、権限昇格は必要ありませんが、Amazon EC2 インスタンスなどのコンテナ化されていない環境で実行する場合は、権限を昇格せずに更新を*確認*できます。

```
$ dnf --releasever=latest check-update
Amazon Linux 2023 repository                      78 MB/s |  25 MB     00:00
Last metadata expiration check: 0:00:04 ago on Mon Jul 22 17:39:13 2024.

amazon-linux-repo-cdn.noarch        2023.5.20240708-1.amzn2023        amazonlinux
curl-minimal.x86_64                 8.5.0-1.amzn2023.0.4              amazonlinux
dnf.noarch                          4.14.0-1.amzn2023.0.5             amazonlinux
dnf-data.noarch                     4.14.0-1.amzn2023.0.5             amazonlinux
expat.x86_64                        2.5.0-1.amzn2023.0.4              amazonlinux
glibc.x86_64                        2.34-52.amzn2023.0.10             amazonlinux
glibc-common.x86_64                 2.34-52.amzn2023.0.10             amazonlinux
glibc-minimal-langpack.x86_64       2.34-52.amzn2023.0.10             amazonlinux
krb5-libs.x86_64                    1.21-3.amzn2023.0.4               amazonlinux
libblkid.x86_64                     2.37.4-1.amzn2023.0.4             amazonlinux
libcurl-minimal.x86_64              8.5.0-1.amzn2023.0.4              amazonlinux
libmount.x86_64                     2.37.4-1.amzn2023.0.4             amazonlinux
libnghttp2.x86_64                   1.59.0-3.amzn2023.0.1             amazonlinux
libsmartcols.x86_64                 2.37.4-1.amzn2023.0.4             amazonlinux
libuuid.x86_64                      2.37.4-1.amzn2023.0.4             amazonlinux
openssl-libs.x86_64                 1:3.0.8-1.amzn2023.0.12           amazonlinux
python3.x86_64                      3.9.16-1.amzn2023.0.8             amazonlinux
python3-dnf.noarch                  4.14.0-1.amzn2023.0.5             amazonlinux
python3-libs.x86_64                 3.9.16-1.amzn2023.0.8             amazonlinux
system-release.noarch               2023.5.20240708-1.amzn2023        amazonlinux
yum.noarch                          4.14.0-1.amzn2023.0.5             amazonlinux
bash-5.2#
```

 `system-release` パッケージのバージョンは、`dnf upgrade` コマンドによって更新されるリリースを示します。

------

このコマンドでは、新しいパッケージが使用可能な場合、返されるコードは 100 です。新しいパッケージがない場合、返されるコードは 0 です。さらに、出力には更新予定のパッケージもすべて一覧表示されます。

## DNF およびリポジトリバージョンを使用してセキュリティ更新を適用します。
<a name="apply-security-updates"></a>

新しいパッケージ更新およびセキュリティ更新は、新しいリポジトリバージョンでのみ使用可能です。以前の AL2023 AMI バージョンから起動したインスタンスの場合、セキュリティ更新をインストールする前にリポジトリバージョンを更新する必要があります。`dnf check-release-update` コマンドには、システムにインストールされているすべてのパッケージを新しいリポジトリのバージョンに更新する更新コマンドの例が含まれています。

**注記**  
 `dnf check-update` コマンドにオプションフラグを付けてリリースバージョンを指定しない場合、現在設定されているリポジトリバージョンのみが確認されます。つまり、リポジトリの後続バージョンに存在するインストール済みパッケージの更新は適用されません。

 このセクションでは、個々の更新またはセキュリティ更新としてマークされた更新のみを選択および選択するのではなく、利用可能なすべての更新を適用する推奨アップグレードパスについて説明します。すべての更新を適用することで、既存のインスタンスは、更新された AMI の起動と同じパッケージセットに移行します。この一貫性により、フリート全体のパッケージバージョンのばらつきが軽減されます。特定の更新の適用の詳細については、「[セキュリティ更新プログラムのインプレースでの適用](security-inplace-update.md)」を参照してください。

------
#### [ Applying updates in a specific version ]

 この例では、[2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) リリースのコンテナを起動した場合、[2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) リリースで利用可能な更新を適用します。

**注記**  
 この例では、[2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) および [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) リリースを使用しています。これらは AL2023 の最新リリースでは*ありません*。最新のセキュリティ更新プログラムを含む最新リリースについては、「[AL2023 リリースノート](https://docs.aws.amazon.com/linux/al2023/release-notes/)」を参照してください。

 この例では、[2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) リリースのコンテナイメージから始めます。

 まず、このコンテナイメージをコンテナレジストリから取得します。末尾の `.0` は、特定のリリースにおけるイメージのバージョンを示します。このイメージのバージョンは通常 0 です。

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  2023.0.20230315.0: Pulling from amazonlinux/amazonlinux
b76f3b09316a: Pull complete
Digest: sha256:94e7183b0739140dbd5b639fb7600f0a2299cec5df8780c26d9cb409da5315a9
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
```

 これでコンテナ内にシェルを立ち上げられるようになったので、そこから更新を適用します。

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  bash-5.2#
```

 `dnf upgrade` コマンドを使用して、[2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) リリースに存在するすべての更新を適用できるようになりました。

**注記**  
 パッケージの更新の適用は特権オペレーションです。コンテナで実行する場合、通常、権限昇格は必要ありませんが、Amazon EC2 インスタンスなどのコンテナ化されていない環境で実行する場合は、`root` ユーザーとして `dnf upgrade` コマンドを実行する必要があります。これは、`sudo` または `su` コマンドを使用して行うことができます。

```
$ dnf upgrade --releasever=2023.1.20230628
Amazon Linux 2023 repository                      38 MB/s |  15 MB     00:00
Last metadata expiration check: 0:00:02 ago on Mon Jul 22 17:49:08 2024.
Dependencies resolved.
=================================================================================
 Package                 Arch    Version                      Repository    Size
=================================================================================
Upgrading:
 amazon-linux-repo-cdn   noarch  2023.1.20230628-0.amzn2023   amazonlinux   18 k
 ca-certificates         noarch  2023.2.60-1.0.amzn2023.0.2   amazonlinux  829 k
 curl-minimal            x86_64  8.0.1-1.amzn2023             amazonlinux  150 k
 glib2                   x86_64  2.74.7-688.amzn2023.0.1      amazonlinux  2.7 M
 glibc                   x86_64  2.34-52.amzn2023.0.3         amazonlinux  1.9 M
 glibc-common            x86_64  2.34-52.amzn2023.0.3         amazonlinux  307 k
 glibc-minimal-langpack  x86_64  2.34-52.amzn2023.0.3         amazonlinux   35 k
 gnupg2-minimal          x86_64  2.3.7-1.amzn2023.0.4         amazonlinux  421 k
 keyutils-libs           x86_64  1.6.3-1.amzn2023             amazonlinux   33 k
 libcap                  x86_64  2.48-2.amzn2023.0.3          amazonlinux   67 k
 libcurl-minimal         x86_64  8.0.1-1.amzn2023             amazonlinux  249 k
 libgcc                  x86_64  11.3.1-4.amzn2023.0.3        amazonlinux  105 k
 libgomp                 x86_64  11.3.1-4.amzn2023.0.3        amazonlinux  280 k
 libstdc++               x86_64  11.3.1-4.amzn2023.0.3        amazonlinux  744 k
 libxml2                 x86_64  2.10.4-1.amzn2023.0.1        amazonlinux  706 k
 ncurses-base            noarch  6.2-4.20200222.amzn2023.0.4  amazonlinux   60 k
 ncurses-libs            x86_64  6.2-4.20200222.amzn2023.0.4  amazonlinux  328 k
 openssl-libs            x86_64  1:3.0.8-1.amzn2023.0.3       amazonlinux  2.2 M
 python3-rpm             x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux   88 k
 rpm                     x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux  486 k
 rpm-build-libs          x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux   90 k
 rpm-libs                x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux  309 k
 rpm-sign-libs           x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux   21 k
 system-release          noarch  2023.1.20230628-0.amzn2023   amazonlinux   29 k
 tzdata                  noarch  2023c-1.amzn2023.0.1         amazonlinux  433 k

Transaction Summary
=================================================================================
Upgrade  25 Packages

Total download size: 12 M
Is this ok [y/N]:
```

 `system-release` パッケージのバージョンには、`dnf upgrade` コマンドが更新するリリースが表示されます。これは、`dnf upgrade --releasever=2023.1.20230628` コマンドで指定された [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) リリースです。

 デフォルトでは、`dnf` は更新を適用することを確認するよう求めます。このプロンプトは、`-y` フラグを使用して `dnf` にバイパスできます。この例では、`dnf upgrade -y --releasever=2023.1.20230628` コマンドは更新を適用する前に確認を求めません。これは、スクリプトやその他のオートメーション環境で役立ちます。

 更新の適用が確認されると、`dnf` は更新を適用します。

```
Is this ok [y/N]:y
	  Downloading Packages:
(1/25): libcap-2.48-2.amzn2023.0.3.x86_64.rpm    1.5 MB/s |  67 kB     00:00
(2/25): python3-rpm-4.16.1.3-12.amzn2023.0.6.x86 2.1 MB/s |  88 kB     00:00
(3/25): libcurl-minimal-8.0.1-1.amzn2023.x86_64. 2.6 MB/s | 249 kB     00:00
(4/25): glib2-2.74.7-688.amzn2023.0.1.x86_64.rpm  26 MB/s | 2.7 MB     00:00
(5/25): glibc-minimal-langpack-2.34-52.amzn2023. 1.3 MB/s |  35 kB     00:00
(6/25): rpm-build-libs-4.16.1.3-12.amzn2023.0.6. 2.8 MB/s |  90 kB     00:00
(7/25): rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64 6.6 MB/s | 309 kB     00:00
(8/25): libgcc-11.3.1-4.amzn2023.0.3.x86_64.rpm  3.9 MB/s | 105 kB     00:00
(9/25): glibc-common-2.34-52.amzn2023.0.3.x86_64  11 MB/s | 307 kB     00:00
(10/25): glibc-2.34-52.amzn2023.0.3.x86_64.rpm    31 MB/s | 1.9 MB     00:00
(11/25): rpm-sign-libs-4.16.1.3-12.amzn2023.0.6. 877 kB/s |  21 kB     00:00
(12/25): gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86  15 MB/s | 421 kB     00:00
(13/25): openssl-libs-3.0.8-1.amzn2023.0.3.x86_6  35 MB/s | 2.2 MB     00:00
(14/25): libxml2-2.10.4-1.amzn2023.0.1.x86_64.rp  14 MB/s | 706 kB     00:00
(15/25): curl-minimal-8.0.1-1.amzn2023.x86_64.rp 4.2 MB/s | 150 kB     00:00
(16/25): rpm-4.16.1.3-12.amzn2023.0.6.x86_64.rpm  11 MB/s | 486 kB     00:00
(17/25): libgomp-11.3.1-4.amzn2023.0.3.x86_64.rp 7.0 MB/s | 280 kB     00:00
(18/25): libstdc++-11.3.1-4.amzn2023.0.3.x86_64.  14 MB/s | 744 kB     00:00
(19/25): keyutils-libs-1.6.3-1.amzn2023.x86_64.r 1.6 MB/s |  33 kB     00:00
(20/25): ncurses-libs-6.2-4.20200222.amzn2023.0.  10 MB/s | 328 kB     00:00
(21/25): tzdata-2023c-1.amzn2023.0.1.noarch.rpm   11 MB/s | 433 kB     00:00
(22/25): amazon-linux-repo-cdn-2023.1.20230628-0 781 kB/s |  18 kB     00:00
(23/25): ca-certificates-2023.2.60-1.0.amzn2023.  16 MB/s | 829 kB     00:00
(24/25): system-release-2023.1.20230628-0.amzn20 1.5 MB/s |  29 kB     00:00
(25/25): ncurses-base-6.2-4.20200222.amzn2023.0. 3.1 MB/s |  60 kB     00:00
---------------------------------------------------------------------------------
Total                                             28 MB/s |  12 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                         1/1
  Upgrading        : libgcc-11.3.1-4.amzn2023.0.3.x86_64                    1/50
  Running scriptlet: libgcc-11.3.1-4.amzn2023.0.3.x86_64                    1/50
  Upgrading        : system-release-2023.1.20230628-0.amzn2023.noarch       2/50
  Upgrading        : amazon-linux-repo-cdn-2023.1.20230628-0.amzn2023.no    3/50
  Upgrading        : ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch        4/50
  Upgrading        : tzdata-2023c-1.amzn2023.0.1.noarch                     5/50
  Upgrading        : glibc-common-2.34-52.amzn2023.0.3.x86_64               6/50
  Running scriptlet: glibc-2.34-52.amzn2023.0.3.x86_64                      7/50
  Upgrading        : glibc-2.34-52.amzn2023.0.3.x86_64                      7/50
  Running scriptlet: glibc-2.34-52.amzn2023.0.3.x86_64                      7/50
  Upgrading        : glibc-minimal-langpack-2.34-52.amzn2023.0.3.x86_64     8/50
  Upgrading        : libcap-2.48-2.amzn2023.0.3.x86_64                      9/50
  Upgrading        : gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86_64            10/50
  Upgrading        : libgomp-11.3.1-4.amzn2023.0.3.x86_64                  11/50
  Running scriptlet: ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     12/50
  Upgrading        : ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     12/50
  Running scriptlet: ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     12/50
  Upgrading        : openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64            13/50
  Upgrading        : libcurl-minimal-8.0.1-1.amzn2023.x86_64               14/50
  Upgrading        : curl-minimal-8.0.1-1.amzn2023.x86_64                  15/50
  Upgrading        : rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64              16/50
  Upgrading        : rpm-4.16.1.3-12.amzn2023.0.6.x86_64                   17/50
  Upgrading        : rpm-build-libs-4.16.1.3-12.amzn2023.0.6.x86_64        18/50
  Upgrading        : rpm-sign-libs-4.16.1.3-12.amzn2023.0.6.x86_64         19/50
  Upgrading        : python3-rpm-4.16.1.3-12.amzn2023.0.6.x86_64           20/50
  Upgrading        : glib2-2.74.7-688.amzn2023.0.1.x86_64                  21/50
  Upgrading        : libxml2-2.10.4-1.amzn2023.0.1.x86_64                  22/50
  Upgrading        : libstdc++-11.3.1-4.amzn2023.0.3.x86_64                23/50
  Upgrading        : keyutils-libs-1.6.3-1.amzn2023.x86_64                 24/50
  Upgrading        : ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64       25/50
  Cleanup          : glib2-2.73.2-680.amzn2023.0.3.x86_64                  26/50
  Cleanup          : libstdc++-11.3.1-4.amzn2023.0.2.x86_64                27/50
  Cleanup          : libxml2-2.10.3-2.amzn2023.0.1.x86_64                  28/50
  Cleanup          : python3-rpm-4.16.1.3-12.amzn2023.0.5.x86_64           29/50
  Cleanup          : rpm-build-libs-4.16.1.3-12.amzn2023.0.5.x86_64        30/50
  Cleanup          : rpm-sign-libs-4.16.1.3-12.amzn2023.0.5.x86_64         31/50
  Cleanup          : rpm-libs-4.16.1.3-12.amzn2023.0.5.x86_64              32/50
  Cleanup          : libcap-2.48-2.amzn2023.0.2.x86_64                     33/50
  Cleanup          : gnupg2-minimal-2.3.7-1.amzn2023.0.3.x86_64            34/50
  Cleanup          : ncurses-libs-6.2-4.20200222.amzn2023.0.3.x86_64       35/50
  Cleanup          : libgomp-11.3.1-4.amzn2023.0.2.x86_64                  36/50
  Cleanup          : rpm-4.16.1.3-12.amzn2023.0.5.x86_64                   37/50
  Cleanup          : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64             38/50
  Cleanup          : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64          39/50
  Cleanup          : openssl-libs-1:3.0.8-1.amzn2023.0.1.x86_64            40/50
  Cleanup          : keyutils-libs-1.6.1-2.amzn2023.0.2.x86_64             41/50
  Cleanup          : amazon-linux-repo-cdn-2023.0.20230315-1.amzn2023.no   42/50
  Cleanup          : system-release-2023.0.20230315-1.amzn2023.noarch      43/50
  Cleanup          : ca-certificates-2023.2.60-1.0.amzn2023.0.1.noarch     44/50
  Cleanup          : ncurses-base-6.2-4.20200222.amzn2023.0.3.noarch       45/50
  Cleanup          : glibc-minimal-langpack-2.34-52.amzn2023.0.2.x86_64    46/50
  Cleanup          : glibc-2.34-52.amzn2023.0.2.x86_64                     47/50
  Cleanup          : glibc-common-2.34-52.amzn2023.0.2.x86_64              48/50
  Cleanup          : tzdata-2022g-1.amzn2023.0.1.noarch                    49/50
  Cleanup          : libgcc-11.3.1-4.amzn2023.0.2.x86_64                   50/50
  Running scriptlet: libgcc-11.3.1-4.amzn2023.0.2.x86_64                   50/50
  Running scriptlet: ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     50/50
  Running scriptlet: rpm-4.16.1.3-12.amzn2023.0.6.x86_64                   50/50
  Running scriptlet: libgcc-11.3.1-4.amzn2023.0.2.x86_64                   50/50
  Verifying        : libcurl-minimal-8.0.1-1.amzn2023.x86_64                1/50
  Verifying        : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64           2/50
  Verifying        : libcap-2.48-2.amzn2023.0.3.x86_64                      3/50
  Verifying        : libcap-2.48-2.amzn2023.0.2.x86_64                      4/50
  Verifying        : glib2-2.74.7-688.amzn2023.0.1.x86_64                   5/50
  Verifying        : glib2-2.73.2-680.amzn2023.0.3.x86_64                   6/50
  Verifying        : python3-rpm-4.16.1.3-12.amzn2023.0.6.x86_64            7/50
  Verifying        : python3-rpm-4.16.1.3-12.amzn2023.0.5.x86_64            8/50
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.3.x86_64     9/50
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.2.x86_64    10/50
  Verifying        : rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64              11/50
  Verifying        : rpm-libs-4.16.1.3-12.amzn2023.0.5.x86_64              12/50
  Verifying        : rpm-build-libs-4.16.1.3-12.amzn2023.0.6.x86_64        13/50
  Verifying        : rpm-build-libs-4.16.1.3-12.amzn2023.0.5.x86_64        14/50
  Verifying        : glibc-2.34-52.amzn2023.0.3.x86_64                     15/50
  Verifying        : glibc-2.34-52.amzn2023.0.2.x86_64                     16/50
  Verifying        : libgcc-11.3.1-4.amzn2023.0.3.x86_64                   17/50
  Verifying        : libgcc-11.3.1-4.amzn2023.0.2.x86_64                   18/50
  Verifying        : glibc-common-2.34-52.amzn2023.0.3.x86_64              19/50
  Verifying        : glibc-common-2.34-52.amzn2023.0.2.x86_64              20/50
  Verifying        : rpm-sign-libs-4.16.1.3-12.amzn2023.0.6.x86_64         21/50
  Verifying        : rpm-sign-libs-4.16.1.3-12.amzn2023.0.5.x86_64         22/50
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64            23/50
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.1.x86_64            24/50
  Verifying        : gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86_64            25/50
  Verifying        : gnupg2-minimal-2.3.7-1.amzn2023.0.3.x86_64            26/50
  Verifying        : libxml2-2.10.4-1.amzn2023.0.1.x86_64                  27/50
  Verifying        : libxml2-2.10.3-2.amzn2023.0.1.x86_64                  28/50
  Verifying        : curl-minimal-8.0.1-1.amzn2023.x86_64                  29/50
  Verifying        : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64             30/50
  Verifying        : rpm-4.16.1.3-12.amzn2023.0.6.x86_64                   31/50
  Verifying        : rpm-4.16.1.3-12.amzn2023.0.5.x86_64                   32/50
  Verifying        : libstdc++-11.3.1-4.amzn2023.0.3.x86_64                33/50
  Verifying        : libstdc++-11.3.1-4.amzn2023.0.2.x86_64                34/50
  Verifying        : libgomp-11.3.1-4.amzn2023.0.3.x86_64                  35/50
  Verifying        : libgomp-11.3.1-4.amzn2023.0.2.x86_64                  36/50
  Verifying        : keyutils-libs-1.6.3-1.amzn2023.x86_64                 37/50
  Verifying        : keyutils-libs-1.6.1-2.amzn2023.0.2.x86_64             38/50
  Verifying        : ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64       39/50
  Verifying        : ncurses-libs-6.2-4.20200222.amzn2023.0.3.x86_64       40/50
  Verifying        : ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     41/50
  Verifying        : ca-certificates-2023.2.60-1.0.amzn2023.0.1.noarch     42/50
  Verifying        : tzdata-2023c-1.amzn2023.0.1.noarch                    43/50
  Verifying        : tzdata-2022g-1.amzn2023.0.1.noarch                    44/50
  Verifying        : amazon-linux-repo-cdn-2023.1.20230628-0.amzn2023.no   45/50
  Verifying        : amazon-linux-repo-cdn-2023.0.20230315-1.amzn2023.no   46/50
  Verifying        : system-release-2023.1.20230628-0.amzn2023.noarch      47/50
  Verifying        : system-release-2023.0.20230315-1.amzn2023.noarch      48/50
  Verifying        : ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch       49/50
  Verifying        : ncurses-base-6.2-4.20200222.amzn2023.0.3.noarch       50/50

Upgraded:
  amazon-linux-repo-cdn-2023.1.20230628-0.amzn2023.noarch
  ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch
  curl-minimal-8.0.1-1.amzn2023.x86_64
  glib2-2.74.7-688.amzn2023.0.1.x86_64
  glibc-2.34-52.amzn2023.0.3.x86_64
  glibc-common-2.34-52.amzn2023.0.3.x86_64
  glibc-minimal-langpack-2.34-52.amzn2023.0.3.x86_64
  gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86_64
  keyutils-libs-1.6.3-1.amzn2023.x86_64
  libcap-2.48-2.amzn2023.0.3.x86_64
  libcurl-minimal-8.0.1-1.amzn2023.x86_64
  libgcc-11.3.1-4.amzn2023.0.3.x86_64
  libgomp-11.3.1-4.amzn2023.0.3.x86_64
  libstdc++-11.3.1-4.amzn2023.0.3.x86_64
  libxml2-2.10.4-1.amzn2023.0.1.x86_64
  ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch
  ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64
  openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64
  python3-rpm-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-build-libs-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-sign-libs-4.16.1.3-12.amzn2023.0.6.x86_64
  system-release-2023.1.20230628-0.amzn2023.noarch
  tzdata-2023c-1.amzn2023.0.1.noarch

  Complete!
bash-5.2#
```

------
#### [ Updates in the latest version ]

 この例では、[2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) リリースのコンテナを起動した場合に、AL2023 の `latest` バージョンで利用可能な更新を適用します。執筆時点で、`latest` リリースは [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) であるため、この例に記載されている更新は、そのリリース時点のものです。

**注記**  
 この例では [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) リリースと [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) リリースを使用しており、後者は*執筆時点*での最新リリースです。最新リリースの詳細については、「[AL2023 リリースノート](https://docs.aws.amazon.com/linux/al2023/release-notes/)」を参照してください。

 この例では、[2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) リリースのコンテナイメージから始めます。

 まず、このコンテナイメージをコンテナレジストリから取得します。末尾の `.1` は、特定のリリースにおけるイメージのバージョンを示します。イメージバージョンは通常ゼロですが、この例ではイメージバージョンが 1 のリリースを使用します。

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  2023.4.20240319.1: Pulling from amazonlinux/amazonlinux
6de065fda9a2: Pull complete
Digest: sha256:b4838c4cc9211d966b6ea158dacc9eda7433a16ba94436508c2d9f01f7658b4e
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
```

 これでコンテナ内にシェルを立ち上げられるようになったので、そこから更新を適用します。

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  bash-5.2#
```

 `dnf upgrade` コマンドは、*執筆時点*で [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) であった `latest` リリースで利用可能な更新を適用するために使用されます。

**注記**  
 パッケージの更新の適用は特権オペレーションです。コンテナで実行する場合、通常、権限昇格は必要ありませんが、Amazon EC2 インスタンスなどのコンテナ化されていない環境で実行する場合は、`root` ユーザーとして `dnf upgrade` コマンドを実行する必要があります。これは、`sudo` または `su` コマンドを使用して行うことができます。

 デフォルトでは、`dnf` は更新を適用することを確認するよう求めます。この例では、`dnf` への `-y`フラグを使用して、このプロンプトをバイパスします。

```
$ dnf -y --releasever=latest update
Amazon Linux 2023 repository                      75 MB/s |  25 MB     00:00
Last metadata expiration check: 0:00:04 ago on Mon Jul 22 18:00:10 2024.
Dependencies resolved.
=================================================================================
 Package                 Arch    Version                      Repository    Size
=================================================================================
Upgrading:
 amazon-linux-repo-cdn   noarch  2023.5.20240708-1.amzn2023   amazonlinux   17 k
 curl-minimal            x86_64  8.5.0-1.amzn2023.0.4         amazonlinux  160 k
 dnf                     noarch  4.14.0-1.amzn2023.0.5        amazonlinux  460 k
 dnf-data                noarch  4.14.0-1.amzn2023.0.5        amazonlinux   34 k
 expat                   x86_64  2.5.0-1.amzn2023.0.4         amazonlinux  117 k
 glibc                   x86_64  2.34-52.amzn2023.0.10        amazonlinux  1.9 M
 glibc-common            x86_64  2.34-52.amzn2023.0.10        amazonlinux  295 k
 glibc-minimal-langpack  x86_64  2.34-52.amzn2023.0.10        amazonlinux   23 k
 krb5-libs               x86_64  1.21-3.amzn2023.0.4          amazonlinux  758 k
 libblkid                x86_64  2.37.4-1.amzn2023.0.4        amazonlinux  105 k
 libcurl-minimal         x86_64  8.5.0-1.amzn2023.0.4         amazonlinux  275 k
 libmount                x86_64  2.37.4-1.amzn2023.0.4        amazonlinux  132 k
 libnghttp2              x86_64  1.59.0-3.amzn2023.0.1        amazonlinux   79 k
 libsmartcols            x86_64  2.37.4-1.amzn2023.0.4        amazonlinux   62 k
 libuuid                 x86_64  2.37.4-1.amzn2023.0.4        amazonlinux   26 k
 openssl-libs            x86_64  1:3.0.8-1.amzn2023.0.12      amazonlinux  2.2 M
 python3                 x86_64  3.9.16-1.amzn2023.0.8        amazonlinux   27 k
 python3-dnf             noarch  4.14.0-1.amzn2023.0.5        amazonlinux  409 k
 python3-libs            x86_64  3.9.16-1.amzn2023.0.8        amazonlinux  7.3 M
 system-release          noarch  2023.5.20240708-1.amzn2023   amazonlinux   28 k
 yum                     noarch  4.14.0-1.amzn2023.0.5        amazonlinux   32 k

 Transaction Summary
=================================================================================
Upgrade  21 Packages

Total download size: 14 M
Downloading Packages:
(1/21): amazon-linux-repo-cdn-2023.5.20240708-1. 345 kB/s |  17 kB     00:00
(2/21): dnf-4.14.0-1.amzn2023.0.5.noarch.rpm     6.8 MB/s | 460 kB     00:00
(3/21): dnf-data-4.14.0-1.amzn2023.0.5.noarch.rp 1.6 MB/s |  34 kB     00:00
(4/21): expat-2.5.0-1.amzn2023.0.4.x86_64.rpm    4.6 MB/s | 117 kB     00:00
(5/21): glibc-2.34-52.amzn2023.0.10.x86_64.rpm    38 MB/s | 1.9 MB     00:00
(6/21): glibc-common-2.34-52.amzn2023.0.10.x86_6 8.8 MB/s | 295 kB     00:00
(7/21): glibc-minimal-langpack-2.34-52.amzn2023. 1.7 MB/s |  23 kB     00:00
(8/21): curl-minimal-8.5.0-1.amzn2023.0.4.x86_64 998 kB/s | 160 kB     00:00
(9/21): libblkid-2.37.4-1.amzn2023.0.4.x86_64.rp 4.1 MB/s | 105 kB     00:00
(10/21): krb5-libs-1.21-3.amzn2023.0.4.x86_64.rp  16 MB/s | 758 kB     00:00
(11/21): libmount-2.37.4-1.amzn2023.0.4.x86_64.r 7.9 MB/s | 132 kB     00:00
(12/21): libnghttp2-1.59.0-3.amzn2023.0.1.x86_64 5.6 MB/s |  79 kB     00:00
(13/21): libsmartcols-2.37.4-1.amzn2023.0.4.x86_ 4.4 MB/s |  62 kB     00:00
(14/21): libcurl-minimal-8.5.0-1.amzn2023.0.4.x8 7.1 MB/s | 275 kB     00:00
(15/21): libuuid-2.37.4-1.amzn2023.0.4.x86_64.rp 1.1 MB/s |  26 kB     00:00
(16/21): python3-3.9.16-1.amzn2023.0.8.x86_64.rp 1.5 MB/s |  27 kB     00:00
(17/21): python3-dnf-4.14.0-1.amzn2023.0.5.noarc  19 MB/s | 409 kB     00:00
(18/21): system-release-2023.5.20240708-1.amzn20 1.9 MB/s |  28 kB     00:00
(19/21): yum-4.14.0-1.amzn2023.0.5.noarch.rpm    1.6 MB/s |  32 kB     00:00
(20/21): openssl-libs-3.0.8-1.amzn2023.0.12.x86_  26 MB/s | 2.2 MB     00:00
(21/21): python3-libs-3.9.16-1.amzn2023.0.8.x86_  59 MB/s | 7.3 MB     00:00
---------------------------------------------------------------------------------
Total                                             34 MB/s |  14 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                         1/1
  Upgrading        : glibc-common-2.34-52.amzn2023.0.10.x86_64              1/42
  Upgrading        : glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64    2/42
  Running scriptlet: glibc-2.34-52.amzn2023.0.10.x86_64                     3/42
  Upgrading        : glibc-2.34-52.amzn2023.0.10.x86_64                     3/42
  Running scriptlet: glibc-2.34-52.amzn2023.0.10.x86_64                     3/42
  Upgrading        : libuuid-2.37.4-1.amzn2023.0.4.x86_64                   4/42
  Upgrading        : openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64            5/42
  Upgrading        : krb5-libs-1.21-3.amzn2023.0.4.x86_64                   6/42
  Upgrading        : libblkid-2.37.4-1.amzn2023.0.4.x86_64                  7/42
  Running scriptlet: libblkid-2.37.4-1.amzn2023.0.4.x86_64                  7/42
  Upgrading        : expat-2.5.0-1.amzn2023.0.4.x86_64                      8/42
  Upgrading        : python3-3.9.16-1.amzn2023.0.8.x86_64                   9/42
  Upgrading        : python3-libs-3.9.16-1.amzn2023.0.8.x86_64             10/42
  Upgrading        : libnghttp2-1.59.0-3.amzn2023.0.1.x86_64               11/42
  Upgrading        : libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64           12/42
  Upgrading        : system-release-2023.5.20240708-1.amzn2023.noarch      13/42
  Upgrading        : amazon-linux-repo-cdn-2023.5.20240708-1.amzn2023.no   14/42
  Upgrading        : dnf-data-4.14.0-1.amzn2023.0.5.noarch                 15/42
  Upgrading        : python3-dnf-4.14.0-1.amzn2023.0.5.noarch              16/42
  Upgrading        : dnf-4.14.0-1.amzn2023.0.5.noarch                      17/42
  Running scriptlet: dnf-4.14.0-1.amzn2023.0.5.noarch                      17/42
  Upgrading        : yum-4.14.0-1.amzn2023.0.5.noarch                      18/42
  Upgrading        : curl-minimal-8.5.0-1.amzn2023.0.4.x86_64              19/42
  Upgrading        : libmount-2.37.4-1.amzn2023.0.4.x86_64                 20/42
  Upgrading        : libsmartcols-2.37.4-1.amzn2023.0.4.x86_64             21/42
  Cleanup          : yum-4.14.0-1.amzn2023.0.4.noarch                      22/42
  Running scriptlet: dnf-4.14.0-1.amzn2023.0.4.noarch                      23/42
  Cleanup          : dnf-4.14.0-1.amzn2023.0.4.noarch                      23/42
  Running scriptlet: dnf-4.14.0-1.amzn2023.0.4.noarch                      23/42
  Cleanup          : python3-dnf-4.14.0-1.amzn2023.0.4.noarch              24/42
  Cleanup          : amazon-linux-repo-cdn-2023.4.20240319-1.amzn2023.no   25/42
  Cleanup          : libmount-2.37.4-1.amzn2023.0.3.x86_64                 26/42
  Cleanup          : curl-minimal-8.5.0-1.amzn2023.0.2.x86_64              27/42
  Cleanup          : libcurl-minimal-8.5.0-1.amzn2023.0.2.x86_64           28/42
  Cleanup          : krb5-libs-1.21-3.amzn2023.0.3.x86_64                  29/42
  Cleanup          : libblkid-2.37.4-1.amzn2023.0.3.x86_64                 30/42
  Cleanup          : libnghttp2-1.57.0-1.amzn2023.0.1.x86_64               31/42
  Cleanup          : libsmartcols-2.37.4-1.amzn2023.0.3.x86_64             32/42
  Cleanup          : system-release-2023.4.20240319-1.amzn2023.noarch      33/42
  Cleanup          : dnf-data-4.14.0-1.amzn2023.0.4.noarch                 34/42
  Cleanup          : python3-3.9.16-1.amzn2023.0.6.x86_64                  35/42
  Cleanup          : python3-libs-3.9.16-1.amzn2023.0.6.x86_64             36/42
  Cleanup          : openssl-libs-1:3.0.8-1.amzn2023.0.11.x86_64           37/42
  Cleanup          : libuuid-2.37.4-1.amzn2023.0.3.x86_64                  38/42
  Cleanup          : expat-2.5.0-1.amzn2023.0.3.x86_64                     39/42
  Cleanup          : glibc-2.34-52.amzn2023.0.8.x86_64                     40/42
  Cleanup          : glibc-minimal-langpack-2.34-52.amzn2023.0.8.x86_64    41/42
  Cleanup          : glibc-common-2.34-52.amzn2023.0.8.x86_64              42/42
  Running scriptlet: glibc-common-2.34-52.amzn2023.0.8.x86_64              42/42
  Verifying        : amazon-linux-repo-cdn-2023.5.20240708-1.amzn2023.no    1/42
  Verifying        : amazon-linux-repo-cdn-2023.4.20240319-1.amzn2023.no    2/42
  Verifying        : curl-minimal-8.5.0-1.amzn2023.0.4.x86_64               3/42
  Verifying        : curl-minimal-8.5.0-1.amzn2023.0.2.x86_64               4/42
  Verifying        : dnf-4.14.0-1.amzn2023.0.5.noarch                       5/42
  Verifying        : dnf-4.14.0-1.amzn2023.0.4.noarch                       6/42
  Verifying        : dnf-data-4.14.0-1.amzn2023.0.5.noarch                  7/42
  Verifying        : dnf-data-4.14.0-1.amzn2023.0.4.noarch                  8/42
  Verifying        : expat-2.5.0-1.amzn2023.0.4.x86_64                      9/42
  Verifying        : expat-2.5.0-1.amzn2023.0.3.x86_64                     10/42
  Verifying        : glibc-2.34-52.amzn2023.0.10.x86_64                    11/42
  Verifying        : glibc-2.34-52.amzn2023.0.8.x86_64                     12/42
  Verifying        : glibc-common-2.34-52.amzn2023.0.10.x86_64             13/42
  Verifying        : glibc-common-2.34-52.amzn2023.0.8.x86_64              14/42
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64   15/42
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.8.x86_64    16/42
  Verifying        : krb5-libs-1.21-3.amzn2023.0.4.x86_64                  17/42
  Verifying        : krb5-libs-1.21-3.amzn2023.0.3.x86_64                  18/42
  Verifying        : libblkid-2.37.4-1.amzn2023.0.4.x86_64                 19/42
  Verifying        : libblkid-2.37.4-1.amzn2023.0.3.x86_64                 20/42
  Verifying        : libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64           21/42
  Verifying        : libcurl-minimal-8.5.0-1.amzn2023.0.2.x86_64           22/42
  Verifying        : libmount-2.37.4-1.amzn2023.0.4.x86_64                 23/42
  Verifying        : libmount-2.37.4-1.amzn2023.0.3.x86_64                 24/42
  Verifying        : libnghttp2-1.59.0-3.amzn2023.0.1.x86_64               25/42
  Verifying        : libnghttp2-1.57.0-1.amzn2023.0.1.x86_64               26/42
  Verifying        : libsmartcols-2.37.4-1.amzn2023.0.4.x86_64             27/42
  Verifying        : libsmartcols-2.37.4-1.amzn2023.0.3.x86_64             28/42
  Verifying        : libuuid-2.37.4-1.amzn2023.0.4.x86_64                  29/42
  Verifying        : libuuid-2.37.4-1.amzn2023.0.3.x86_64                  30/42
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64           31/42
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.11.x86_64           32/42
  Verifying        : python3-3.9.16-1.amzn2023.0.8.x86_64                  33/42
  Verifying        : python3-3.9.16-1.amzn2023.0.6.x86_64                  34/42
  Verifying        : python3-dnf-4.14.0-1.amzn2023.0.5.noarch              35/42
  Verifying        : python3-dnf-4.14.0-1.amzn2023.0.4.noarch              36/42
  Verifying        : python3-libs-3.9.16-1.amzn2023.0.8.x86_64             37/42
  Verifying        : python3-libs-3.9.16-1.amzn2023.0.6.x86_64             38/42
  Verifying        : system-release-2023.5.20240708-1.amzn2023.noarch      39/42
  Verifying        : system-release-2023.4.20240319-1.amzn2023.noarch      40/42
  Verifying        : yum-4.14.0-1.amzn2023.0.5.noarch                      41/42
  Verifying        : yum-4.14.0-1.amzn2023.0.4.noarch                      42/42

Upgraded:
  amazon-linux-repo-cdn-2023.5.20240708-1.amzn2023.noarch
  curl-minimal-8.5.0-1.amzn2023.0.4.x86_64
  dnf-4.14.0-1.amzn2023.0.5.noarch
  dnf-data-4.14.0-1.amzn2023.0.5.noarch
  expat-2.5.0-1.amzn2023.0.4.x86_64
  glibc-2.34-52.amzn2023.0.10.x86_64
  glibc-common-2.34-52.amzn2023.0.10.x86_64
  glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64
  krb5-libs-1.21-3.amzn2023.0.4.x86_64
  libblkid-2.37.4-1.amzn2023.0.4.x86_64
  libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64
  libmount-2.37.4-1.amzn2023.0.4.x86_64
  libnghttp2-1.59.0-3.amzn2023.0.1.x86_64
  libsmartcols-2.37.4-1.amzn2023.0.4.x86_64
  libuuid-2.37.4-1.amzn2023.0.4.x86_64
  openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64
  python3-3.9.16-1.amzn2023.0.8.x86_64
  python3-dnf-4.14.0-1.amzn2023.0.5.noarch
  python3-libs-3.9.16-1.amzn2023.0.8.x86_64
  system-release-2023.5.20240708-1.amzn2023.noarch
  yum-4.14.0-1.amzn2023.0.5.noarch

Complete!
bash-5.2#
```

------

AL2023 の更新を確認するには、以下のうち 1 つ以上を実行します。
+  `dnf check-update` コマンドを実行します。これにより、ロックされている Amazon Linux のバージョンに未適用の更新があるかどうかを確認します。これは、`system-release` パッケージのみを更新した場合に更新が表示されることがあります。この操作は、インスタンスがロックされるリポジトリのバージョンを切り替えるだけで、そのリポジトリに含まれる更新は適用されません。
+ Amazon Linux リポジトリの更新 SNS トピック (`arn:aws:sns:us-east-1:137112412989:amazon-linux-2023-ami-updates`) をサブスクライブします。詳細については、「[Amazon Simple 通知サービス デベロッパーガイド](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)」の「*Amazon SNS トピックのサブスクライブ*」を参照してください。
+ 「[AL2023 リリースノート](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html)」を定期的に参照してください。
+  [`dnf check-release-update` を使用した新しいリポジトリバージョンの確認](#dnf-repository-updates) で新しいバージョンを見つけます。

**重要**  
 セキュリティ更新プログラムを含む AL2023 の新しいバージョンは頻繁にリリースされます。関連するセキュリティパッチを常に最新の状態に保つようにしてください。

## (セキュリティ) 更新後の自動サービス再起動
<a name="automatic-restart-services"></a>

Amazon Linux に [smart-restart](https://github.com/amazonlinux/smart-restart) パッケージが付属するようになりました。`Smart-restart` は、システムのパッケージマネージャーを使用してパッケージがインストールまたは削除される際に、システム更新に伴って systemd サービスを再起動します。これは、`dnf (update|upgrade|downgrade)` が実行されるたびに行われます。

`Smart-restart` は、`dnf-utils` からの `needs-restarting` パッケージとカスタム拒否リストのしくみを使用して、どのサービスを再起動する必要があるか、およびシステムの再起動が推奨されるかどうかを判断します。システムの再起動が推奨されている場合、再起動ヒントマーカーファイルが生成されます (`/run/smart-restart/reboot-hint-marker`)。

**`smart-restart` をインストールするには**  
次の DNF コマンドを実行します (他のパッケージと同様に）。

```
$ sudo dnf install smart-restart
```

インストール後、後続のトランザクションによって `smart-restart` ロジックがトリガーされます。

**拒否リスト**  
`Smart-restart` は、特定のサービスの再起動をブロックするように指示することができます。ブロックされたサービスは、再起動が必要かどうかの判断には影響しません。追加のサービスをブロックするには、次の例に示すように、`/etc/smart-restart-conf.d/` にサフィックス `-denylist` が付いたファイルを追加します。

```
$ cat /etc/smart-restart-conf.d/custom-denylist
# Some comments
myservice.service
```

**注記**  
再起動が必要かどうかを決定するときに、すべての `*-denylist` ファイルが読み取られ、評価されます。

**カスタムフック**  
拒否リストに加えて、`smart-restart` はサービスを再起動する前後にカスタムスクリプトを実行するしくみを提供します。カスタムスクリプトを使用して、手動で準備ステップを実行したり、他のコンポーネントに再起動が残っていることや完了したことを通知したりするために使用できます。

`/etc/smart-restart-conf.d/` 内にある、サフィックスが `-pre-restart` または `-post-restart` のすべてのスクリプトが実行されます。順序が重要な場合は、次の例に示すように、すべてのスクリプトに数字を付け、実行順序を確認します。

```
$ ls /etc/smart-restart-conf.d/*-pre-restart
001-my-script-pre-restart
002-some-other-script-pre-restart
```

## セキュリティ更新を適用する際、いつ再起動が必要になりますか?
<a name="reboot"></a>

状況によっては、更新を適用するために Amazon Linux を再起動する必要があります。
+ Linux カーネルパッケージの更新には、最新のセキュリティ更新を使用して新しいカーネルをアクティブ化するための再起動が必要です。カーネルライブパッチにより、セキュリティ更新を一定期間延期できる場合があります。詳細については、「[AL2023 のカーネルライブパッチ](live-patching.md)」を参照してください。
+ EC2 Metal インスタンスでは、Amazon Linux はマイクロコードの更新を提供します (Intel CPUs 用に `microcode_ctl` パッケージ、AMD CPU 用に `amd-ucode-firmware` パッケージを使用）。これらのマイクロコード更新は、以降のインスタンスの再起動時にのみアクティブ化されます。仮想化された EC2 インスタンスの場合、基盤となる [AWS Nitro システムが](https://docs.aws.amazon.com/whitepapers/latest/security-design-of-aws-nitro-system/security-design-of-aws-nitro-system.html)マイクロコードの更新を処理します。
+ 実行中の systemd サービスの中には、システムが完全に再起動した後にのみ正しく機能するものがあります。この`smart-restart` のしくみは、再起動のヒントを残すことで、このような状況を通知します。「[(セキュリティ) 更新後の自動サービス再起動](#automatic-restart-services)」を参照してください。

## 最新のリポジトリバージョンを有効にしたインスタンスの起動
<a name="launch-an-instance-repo-version"></a>

ユーザーデータスクリプトに DNF コマンドを追加して、Amazon Linux AMI の起動時にどの RPM パッケージをインストールするかを制御できます。以下の例では、ユーザーデータスクリプトを使用して、ユーザーデータスクリプトを使用して起動されるすべてのインスタンスに同じパッケージ更新がインストールされていることを確認します。

```
#!/bin/bash
dnf upgrade --releasever=2023.0.20230210
# Additional setup and install commands below
dnf install httpd php7.4 mysql80
```

このスクリプトは superuser (root) として実行する必要があります。これを行うには、以下のコマンドを実行します。

```
$ sudo sh -c "bash nameofscript.sh"
```

詳細については、「*Amazon EC2 ユーザーガイド*」の[「ユーザーデータおよびシェルスクリプト](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts)」を参照してください。

**注記**  
ユーザーデータスクリプトを使用する代わりに、最新の Amazon Linux AMI を起動するか、Amazon Linux AMI をベースにしたカスタム AMI を起動します。最新の Amazon Linux AMI には必要な更新がすべてインストールされており、特定のリポジトリバージョンを指すように設定されています。

## パッケージサポート情報の取得
<a name="dnf-support-info-plugin"></a>

AL2023 には、さまざまなオープンソースソフトウェアプロジェクトが組み込まれています。これらのプロジェクトはそれぞれ Amazon Linux とは独立して管理されており、リリースやサポート終了のスケジュールも異なります。これらのさまざまなパッケージに関する Amazon Linux 固有の情報を提供するために、DNF `supportinfo` プラグインはパッケージに関するメタデータを提供します。以下の例では、**dnf supportinfo** コマンドは `glibc` パッケージのメタデータを返します。

```
$ sudo dnf supportinfo --pkg glibc 
Last metadata expiration check: 0:07:56 ago on Wed Mar  1 23:21:49 2023.
Name                 : glibc
Version              : 2.34-52.amzn2023.0.2
State                : installed
Support Status       : supported
Support Periods      : from 2023-03-15      : supported
                     : from 2028-03-15      : unsupported
Support Statement    : Amazon Linux 2023 End Of Life
Link                 : https://aws.amazon.com/amazon-linux-ami/faqs/
Other Info           : This is the support statement for AL2023. The
     ...: end of life of Amazon Linux 2023 would be March 2028.
     ...: From this point, the Amazon Linux 2023 packages (listed
  ...: below) will no longer, receive any updates from AWS.
```

 パッケージのサポート情報は、「[AL2023 リリースノート](https://docs.aws.amazon.com/linux/al2023/release-notes/)」の「[サポートステートメント](https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-support-statement.html)」セクションでも入手できます。

## `dnf check-release-update` を使用した新しいリポジトリバージョンの確認
<a name="dnf-repository-updates"></a>

 AL2023 インスタンスでは、DNF ユーティリティを使用してリポジトリを管理し、更新された RPM パッケージを適用できます。これらのパッケージは Amazon Linux リポジトリにあります。DNF コマンド `dnf check-release-update` を使用して、DNF リポジトリの新しいバージョンを確認できます。

**注記**  
 AL2023 コンテナイメージには、デフォルトで `dnf check-release-update` コマンドは含まれません。  

```
$ dnf check-release-update
No such command: check-release-update. Please use /usr/bin/dnf --help
It could be a DNF plugin command, try: "dnf install 'dnf-command(check-release-update)'"
```
 `dnf install 'dnf-command(check-release-update)'` が実行されると、`dnf`は `check-release-update` コマンドを提供する `dnf-plugin-release-notification` パッケージをインストールします。次の例では、`dnf` に `-q` 引数を渡すことで出力を抑制します。  

```
$ dnf -y -q install 'dnf-command(check-release-update)'
Installed:
  dnf-plugin-release-notification-1.2-1.amzn2023.0.2.noarch
```

 Amazon EC2 インスタンスなどのコンテナ化されていない環境では、`check-release-update` コマンドはデフォルトで含まれます。

```
$ sudo dnf check-release-update
WARNING:
  A newer release of "Amazon Linux" is available.

  Available Versions:

  Version 2023.0.20230210:
    Run the following command to update to 2023.0.20230210:

      dnf upgrade --releasever=2023.0.20230210

    Release notes:
     https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html
```

これにより、使用可能なすべての新しいバージョンの DNF リポジトリのすべてのリストが返されます。何も返されない場合は、DNF が現在使用可能な最新バージョンを使用するように設定されていることを意味します。現在インストールされている `system-release` パッケージのバージョンによって `releasever` DNF 変数が設定されます。現在のリポジトリバージョンを確認するには、以下のコマンドを実行します。

```
$ rpm -q system-release --qf "%{VERSION}\n"
```

DNF パッケージトランザクション (インストール、更新、削除コマンドなど) を実行すると、リポジトリの新しいバージョンを知らせる警告メッセージが表示されます。例えば、AL2023 の古いバージョンから起動されたインスタンスに `httpd` パッケージをインストールすると、以下の出力が返されます。

```
$ sudo dnf install httpd -y
Last metadata expiration check: 0:16:52 ago on Wed Mar  1 23:21:49 2023.
Dependencies resolved.
====================================================================
 Package            Arch   Version                Repository   Size
====================================================================
Installing:
 httpd              x86_64 2.4.54-3.amzn2023.0.4  amazonlinux  46 k
Installing dependencies:
 apr                x86_64 1.7.2-2.amzn2023.0.2   amazonlinux 129 k
 apr-util           x86_64 1.6.3-1.amzn2023.0.1   amazonlinux  98 k
 generic-logos-httpd
                    noarch 18.0.0-12.amzn2023.0.3 amazonlinux  19 k
 httpd-core         x86_64 2.4.54-3.amzn2023.0.4  amazonlinux 1.3 M
 httpd-filesystem   noarch 2.4.54-3.amzn2023.0.4  amazonlinux  13 k
 httpd-tools        x86_64 2.4.54-3.amzn2023.0.4  amazonlinux  80 k
 libbrotli          x86_64 1.0.9-4.amzn2023.0.2   amazonlinux 315 k
 mailcap            noarch 2.1.49-3.amzn2023.0.3  amazonlinux  33 k
Installing weak dependencies:
 apr-util-openssl   x86_64 1.6.3-1.amzn2023.0.1   amazonlinux  17 k
 mod_http2          x86_64 1.15.24-1.amzn2023.0.3 amazonlinux 152 k
 mod_lua            x86_64 2.4.54-3.amzn2023.0.4  amazonlinux  60 k

Transaction Summary
====================================================================
Install  12 Packages

Total download size: 2.3 M
Installed size: 6.8 M
Downloading Packages:
(1/12): apr-util-openssl-1.6.3-1.am 212 kB/s |  17 kB     00:00
(2/12): apr-1.7.2-2.amzn2023.0.2.x8 1.1 MB/s | 129 kB     00:00
(3/12): httpd-core-2.4.54-3.amzn202 8.9 MB/s | 1.3 MB     00:00
(4/12): mod_http2-1.15.24-1.amzn202 1.9 MB/s | 152 kB     00:00
(5/12): apr-util-1.6.3-1.amzn2023.0 1.7 MB/s |  98 kB     00:00
(6/12): mod_lua-2.4.54-3.amzn2023.0 1.4 MB/s |  60 kB     00:00
(7/12): httpd-2.4.54-3.amzn2023.0.4 1.5 MB/s |  46 kB     00:00
(8/12): libbrotli-1.0.9-4.amzn2023. 4.4 MB/s | 315 kB     00:00
(9/12): mailcap-2.1.49-3.amzn2023.0 753 kB/s |  33 kB     00:00
(10/12): httpd-tools-2.4.54-3.amzn2 978 kB/s |  80 kB     00:00
(11/12): httpd-filesystem-2.4.54-3. 210 kB/s |  13 kB     00:00
(12/12): generic-logos-httpd-18.0.0 439 kB/s |  19 kB     00:00
--------------------------------------------------------------------
Total                               6.6 MB/s | 2.3 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                            1/1
  Installing       : apr-1.7.2-2.amzn2023.0.2.x86_64           1/12
  Installing       : apr-util-openssl-1.6.3-1.amzn2023.0.1.    2/12
  Installing       : apr-util-1.6.3-1.amzn2023.0.1.x86_64      3/12
  Installing       : mailcap-2.1.49-3.amzn2023.0.3.noarch      4/12
  Installing       : httpd-tools-2.4.54-3.amzn2023.0.4.x86_    5/12
  Installing       : generic-logos-httpd-18.0.0-12.amzn2023    6/12
  Running scriptlet: httpd-filesystem-2.4.54-3.amzn2023.0.4    7/12
  Installing       : httpd-filesystem-2.4.54-3.amzn2023.0.4    7/12
  Installing       : httpd-core-2.4.54-3.amzn2023.0.4.x86_6    8/12
  Installing       : mod_http2-1.15.24-1.amzn2023.0.3.x86_6    9/12
  Installing       : libbrotli-1.0.9-4.amzn2023.0.2.x86_64    10/12
  Installing       : mod_lua-2.4.54-3.amzn2023.0.4.x86_64     11/12
  Installing       : httpd-2.4.54-3.amzn2023.0.4.x86_64       12/12
  Running scriptlet: httpd-2.4.54-3.amzn2023.0.4.x86_64       12/12
  Verifying        : apr-1.7.2-2.amzn2023.0.2.x86_64           1/12
  Verifying        : apr-util-openssl-1.6.3-1.amzn2023.0.1.    2/12
  Verifying        : httpd-core-2.4.54-3.amzn2023.0.4.x86_6    3/12
  Verifying        : mod_http2-1.15.24-1.amzn2023.0.3.x86_6    4/12
  Verifying        : apr-util-1.6.3-1.amzn2023.0.1.x86_64      5/12
  Verifying        : mod_lua-2.4.54-3.amzn2023.0.4.x86_64      6/12
  Verifying        : libbrotli-1.0.9-4.amzn2023.0.2.x86_64     7/12
  Verifying        : httpd-2.4.54-3.amzn2023.0.4.x86_64        8/12
  Verifying        : httpd-tools-2.4.54-3.amzn2023.0.4.x86_    9/12
  Verifying        : mailcap-2.1.49-3.amzn2023.0.3.noarch     10/12
  Verifying        : httpd-filesystem-2.4.54-3.amzn2023.0.4   11/12
  Verifying        : generic-logos-httpd-18.0.0-12.amzn2023   12/12

Installed:
  apr-1.7.2-2.amzn2023.0.2.x86_64
  apr-util-1.6.3-1.amzn2023.0.1.x86_64
  apr-util-openssl-1.6.3-1.amzn2023.0.1.x86_64
  generic-logos-httpd-18.0.0-12.amzn2023.0.3.noarch
  httpd-2.4.54-3.amzn2023.0.4.x86_64
  httpd-core-2.4.54-3.amzn2023.0.4.x86_64
  httpd-filesystem-2.4.54-3.amzn2023.0.4.noarch
  httpd-tools-2.4.54-3.amzn2023.0.4.x86_64
  libbrotli-1.0.9-4.amzn2023.0.2.x86_64
  mailcap-2.1.49-3.amzn2023.0.3.noarch
  mod_http2-1.15.24-1.amzn2023.0.3.x86_64
  mod_lua-2.4.54-3.amzn2023.0.4.x86_64

Complete!
```

## 新しいリポジトリの追加、有効化、無効化
<a name="dnf-repo-addition"></a>

**警告**  
 AL2023 で使用するように設計されたリポジトリのみを追加します。  
 他のディストリビューション向けに設計されたリポジトリは、現時点では動作する場合もありますが、AL2023 のパッケージ更新や、AL2023 向けに設計されていないリポジトリの更新によって、今後も動作し続ける保証はありません。

デフォルトの Amazon Linux リポジトリとは異なるリポジトリからパッケージをインストールするには、リポジトリの場所がわかるように `DNF` パッケージ管理システムを設定する必要があります。

 `dnf` にパッケージリポジトリを認識させるには、そのリポジトリの情報を `/etc/yum.repos.d/` ディレクトリ内の設定ファイルに追加します。多くのサードパーティーリポジトリは、設定ファイルの内容または設定ファイルを含むインストール可能なパッケージを提供します。

**注記**  
 リポジトリは `/etc/dnf/dnf.conf` ファイルで直接設定できますが、これはお勧めしません。各リポジトリは、`/etc/yum.repos.d/` の独自のファイルで設定することをお勧めします。

**現在有効になっているリポジトリを確認するには、以下のコマンドを実行します。**

```
$ dnf repolist all --verbose
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, release-notification, repoclosure, repodiff, repograph, repomanage, reposync, supportinfo
DNF version: 4.12.0
cachedir: /var/cache/dnf
Last metadata expiration check: 0:00:02 ago on Wed Mar  1 23:40:15 2023.
Repo-id            : amazonlinux
Repo-name          : Amazon Linux 2023 repository
Repo-status        : enabled
Repo-revision      : 1677203368
Repo-updated       : Fri Feb 24 01:49:28 2023
Repo-pkgs          : 12632
Repo-available-pkgs: 12632
Repo-size          : 12 G
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/x86_64/mirror.list
Repo-baseurl       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/guids/cf9296325a6c46ff40c775a8e2d632c4c3fd9d9164014ce3304715d61b90ca8e/x86_64/
                   : (0 more)
Repo-expire        : 172800 second(s) (last: Wed Mar  1 23:40:15
                   : 2023)
Repo-filename      : /etc/yum.repos.d/amazonlinux.repo

Repo-id            : amazonlinux-debuginfo
Repo-name          : Amazon Linux 2023 repository - Debug
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/debuginfo/x86_64/mirror.list
Repo-expire        : 21600 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/amazonlinux.repo

Repo-id            : amazonlinux-source
Repo-name          : Amazon Linux 2023 repository - Source packages
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/SRPMS/mirror.list
Repo-expire        : 21600 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/amazonlinux.repo

Repo-id            : kernel-livepatch
Repo-name          : Amazon Linux 2023 Kernel Livepatch repository
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/kernel-livepatch/mirrors/al2023/x86_64/mirror.list
Repo-expire        : 172800 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/kernel-livepatch.repo

Repo-id            : kernel-livepatch-source
Repo-name          : Amazon Linux 2023 Kernel Livepatch repository -
                   : Source packages
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/kernel-livepatch/mirrors/al2023/SRPMS/mirror.list
Repo-expire        : 21600 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/kernel-livepatch.repo
Total packages: 12632
```

**注記**  
`--verbose` オプションフラグを追加しない場合、出力には、`Repo-id`、`Repo-name`、および `Repo-status` の情報のみが含まれます。

**`yum` リポジトリを `/etc/yum.repos.d` ディレクトリに追加する方法**

1. `.repo` ファイルの場所を検索します。この例では、`.repo` ファイルは、`https://www.example.com/repository.repo` にあります。

1. `dnf config-manager` コマンドを使用してリポジトリを追加します。

```
$ sudo dnf config-manager --add-repo https://www.example.com/repository.repo
Loaded plugins: priorities, update-motd, upgrade-helper
adding repo from: https://www.example.com/repository.repo
grabbing file https://www.example.com/repository.repo to /etc/yum.repos.d/repository.repo
repository.repo                                      | 4.0 kB     00:00
repo saved to /etc/yum.repos.d/repository.repo
```

リポジトリをインストールしたら、以下の手順で説明するように有効にする必要があります。

****`/etc/yum.repos.d` で `yum` リポジトリを有効にするには、`--enable` フラグと*リポジトリ*名を指定して `dnf config-manager` コマンドを実行します。

```
$ sudo dnf config-manager --enable repository
```

**注記**  
リポジトリを無効にするには、同じコマンド構文を使用しますが、コマンド内の `--enable` を `--disable` に置き換えます。

## cloud-init によるリポジトリの追加
<a name="cloud-init-repo-update"></a>

前の方法でリポジトリを追加するほかに、`cloud-init` フレームワークを使用して新しいリポジトリを追加することもできます。

新しいパッケージリポジトリを追加するには、以下のテンプレートを使用することをお勧めします。このファイルをローカルに保存することを検討してください。

```
#cloud-config
yum_repos: 
  repository.repo: 
    baseurl: https://www.example.com/
    enabled: true
    gpgcheck: true
    gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EXAMPLE
    name: Example Repository
```

**注記**  
`cloud-init` を使用する利点の 1 つは、設定ファイルに `packages:` セクションを追加できることです。このセクションには、インストールするパッケージの名前を含めることができます。パッケージは、デフォルトのリポジトリからも、`cloud-config` ファイルに追加した新しいリポジトリからもインストールできます。  
YAML ファイルの構造に関するより具体的な情報については、「*`cloud-init` ドキュメント*」の「[YUM リポジトリの追加](https://cloudinit.readthedocs.io/en/22.2.2/topics/examples.html#adding-a-yum-repository)」を参照してください。

YAML フォーマットファイルを設定したら、 AWS CLIの `cloud-init` フレームワークで実行できます。必要な操作を呼び出すための `--userdata` オプションと `.yml` ファイル名を必ず含めてください。

```
$ aws ec2 run-instances \
  --image-id \
    resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64 \
  --instance-type m5.xlarge \
  --region us-east-1 \
  --key-name aws-key-us-east-1 \
  --security-group-ids sg-004a7650 \
  --user-data file://cloud-config.yml
```

# AL2023 のカーネルライブパッチ
<a name="live-patching"></a>

AL2023 のカーネルライブパッチにより、実行中のアプリケーションを再起動や中断せずに、実行中の Linux カーネルに特定のセキュリティの脆弱性や重大なバグのパッチを適用することができます。また、カーネルライブパッチを利用することで、システムを再起動できるまで修正を適用しながらアプリケーションの可用性を向上させることができます。

AWS は、次の 2 種類の AL2023 のカーネルライブパッチをリリースします。
+ **セキュリティ更新** – Linux の共通脆弱性とエクスポージャー (CVE) の更新プログラムが含まれます。これらの更新プログラムは、通常、Amazon Linux Security Advisory の評価で *Important* または *Critical* と評価されます。これらは、通常、共通脆弱性評価システム (CVSS) の 7 以上のスコアに該当します。場合によっては、CVE が割り当てられる前に AWS から更新プログラムが提供されることがあります。そのような場合、パッチはバグ修正プログラムとして提供される場合があります。
+ **バグ修正** – CVE に関連付けられていない重大なバグや安定性の問題の修正プログラムが含まれます。

AWS は、AL2023 カーネルバージョンのリリースから 3 か月間、カーネルライブパッチを提供します。その後、カーネルライブパッチを引き続き入手するには、新しいカーネルバージョンに更新する必要があります。

AL2023 のカーネルライブパッチは、既存の AL2023 リポジトリから署名付きの RPM パッケージとして入手できます。パッチを個別のインスタンスにインストールするには、既存の **DNF パッケージマネージャー**ワークフローを使用できます。Systems Manager を使用して、マネージドインスタンスのグループにインストールするには、AWS Systems Manager を使用できます。

AL2023 のカーネルライブパッチは、追加料金なしで提供されます。

**Topics**
+ [制限](#live-patching-limitations)
+ [サポートされている構成と前提条件](#live-patching-prereq)
+ [カーネルライブパッチを使用する](#working-with-live-patching)

## 制限
<a name="live-patching-limitations"></a>

カーネルライブパッチの適用中は、休止を実行したり、高度なデバッグツール (`SystemTap`、`kprobes`、`eBPF` ベースのツールなど) を使用したり、カーネルライブパッチを適用したインフラストラクチャで使用されている `ftrace` の出力ファイルにアクセスしたりすることはできません。

**注記**  
技術的な制限により、ライブパッチの適用では一部の問題に対処できません。このため、これらの修正はカーネルライブパッチパッケージに含まれず、ネイティブカーネルパッケージの更新でのみ提供されます。ネイティブカーネルパッケージをインストールし、システムを[更新および再起動](https://docs.aws.amazon.com/linux/al2023/ug/updating.html)して通常どおりパッチをアクティブ化できます。

## サポートされている構成と前提条件
<a name="live-patching-prereq"></a>

カーネルライブパッチは、Amazon EC2 インスタンスおよび AL2023 が実行されているオンプレミスの仮想化マシンでサポートされています。

AL2023 でカーネルライブパッチを使用するには、以下を使用する必要があります。
+ 64 ビット `x86_64` または `ARM64` アーキテクチャ
+ カーネルバージョン `6.1` または `6.12`

### ポリシーの要件
<a name="policy-requirements"></a>

AL2023 リポジトリからパッケージをダウンロードするには、Amazon EC2 からサービス所有の Amazon S3 バケットにアクセスする必要があります。環境で Amazon S3 用に Amazon Virtual Private Cloud (VPC) エンドポイントを使用している場合、VPC エンドポイントポリシーがそれらのパブリックバケットへのアクセスを許可する必要があります。次の表は、Amazon EC2 が Kernel Live Patching のためにアクセスが必要となる可能性がある Amazon S3 バケットを示しています。


| S3 バケット ARN | 説明 | 
| --- | --- | 
|  arn:aws:s3:::al2023-repos-*region*-de612dc2/\$1  |  AL2023 リポジトリを含む Amazon S3 バケット  | 

## カーネルライブパッチを使用する
<a name="working-with-live-patching"></a>

カーネルライブパッチを有効にして個別のインスタンスで使用するには、インスタンス自体でコマンドラインを使用できます。Systems Manager を使用して、カーネルライブパッチを有効にしてマネージドインスタンスのグループで使用するには、AWS Systems Manager を使用できます。

以下のセクションでは、コマンドラインを使用して、カーネルライブパッチを有効にして個別のインスタンスで使用する方法について説明します。

マネージドインスタンスのグループでカーネルライブパッチを有効にして使用する方法の詳細については、「*AWS Systems Manager ユーザーガイド*」の「[AL2023 インスタンスでカーネルライブパッチを使用する](https://docs.aws.amazon.com/systems-manager/latest/userguide/kernel-live-patching.html)」を参照してください。

**Topics**
+ [カーネルライブパッチの有効化](#live-patching-enable)
+ [利用可能なカーネルライブパッチを表示する](#live-patching-view-available)
+ [カーネルライブパッチを適用する](#live-patching-apply)
+ [適用されたカーネルライブパッチの表示](#live-patching-view)
+ [カーネルライブパッチの無効化](#live-patching-disable)

### カーネルライブパッチの有効化
<a name="live-patching-enable"></a>

AL2023 では、カーネルライブパッチはデフォルトでは無効になっています。ライブパッチを使用するには、カーネルライブパッチの **DNF** プラグインをインストールして、ライブパッチ機能を有効にする必要があります。

**カーネルライブパッチを有効にする方法**

1. カーネルライブパッチは、カーネルバージョン `6.1` 以降の AL2023 で使用できます。カーネルバージョンを確認するには、次のコマンドを実行します。

   ```
   $ sudo dnf list kernel
   ```

1. カーネルライブパッチの **DNF** プラグインをインストールします。

   ```
   $ sudo dnf install -y kpatch-dnf
   ```

1. カーネルライブパッチの **DNF** プラグインを有効にします。

   ```
   $ sudo dnf kernel-livepatch -y auto
   ```

   このコマンドは、設定されているリポジトリから最新バージョンのカーネルライブパッチの RPM もインストールします。

1. カーネルライブパッチの **DNF** プラグインが正常にインストールされたことを確認するには、以下のコマンドを実行します。

   カーネルライブパッチを有効にすると、空のカーネルライブパッチの RPM が自動的に適用されます。カーネルライブパッチが正常に有効になっていれば、このコマンドは最初の空のカーネルライブパッチの RPM (およびライブパッチを含む DNF リポジトリを設定するもうひとつの RPM)を含むリストを返します。

   ```
   $ sudo rpm -qa | grep kernel-livepatch
   kernel-livepatch-repo-s3-2023.7.20250428-0.amzn2023.noarch
   kernel-livepatch-6.1.134-150.224-1.0-0.amzn2023.x86_64
   ```

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

   ```
   $ sudo dnf install -y kpatch-runtime
   ```

1. 既にインストール済みの場合は、**kpatch** サービスを更新します。

   ```
   $ sudo dnf upgrade kpatch-runtime
   ```

1. **kpatch** サービスを起動します。このサービスは、初期化時または起動時にすべてのカーネルライブパッチをロードします。

   ```
   $ sudo systemctl enable kpatch.service && sudo systemctl start kpatch.service
   ```

### 利用可能なカーネルライブパッチを表示する
<a name="live-patching-view-available"></a>

Amazon Linux のセキュリティアラートは、Amazon Linux Security Center に公開されます。カーネルライブパッチのアラートを含む AL2023 のセキュリティアラートの詳細については、「[Amazon Linux Security Center](https://alas.aws.amazon.com/alas2023.html)」を参照してください。カーネルライブパッチには、`ALASLIVEPATCH` というプレフィクスが付きます。Amazon Linux Security Center では、バグに対応するカーネルライブパッチは一覧に表示されていない場合があります。

アドバイザリおよび CVE に対する利用可能なカーネルライブパッチは、コマンドラインを使用して見つけることもできます。

**アドバイザリに対する利用可能なすべてのカーネルライブパッチを一覧表示するには**  
次のコマンドを使用します。

```
$ sudo dnf updateinfo list
Last metadata expiration check: 1:06:23 ago on Mon 13 Feb 2023 09:28:19 PM UTC.
ALAS2LIVEPATCH-2021-123   important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64
ALAS2LIVEPATCH-2022-124   important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64
```

**CVE に対する利用可能なすべてのカーネルライブパッチを一覧表示するには**  
次のコマンドを使用します。

```
$ sudo dnf updateinfo list cves
Last metadata expiration check: 1:07:26 ago on Mon 13 Feb 2023 09:28:19 PM UTC.
CVE-2022-0123    important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64
CVE-2022-3210    important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64
```

### カーネルライブパッチを適用する
<a name="live-patching-apply"></a>

カーネルライブパッチは、**DNF** パッケージマネージャーを使用して、通常の更新プログラムを適用するのと同じ方法で適用します。カーネルライブパッチの **DNF** プラグインは、適用可能なカーネルライブパッチを管理します。

**ヒント**  
システムを再起動できるようになるまで、重要かつ重大なセキュリティ修正を確実に適用するために、カーネルライブパッチを利用してカーネルを定期的に更新することをお勧めします。ライブパッチとしてデプロイ追加の修正がネイティブのカーネルパッケージに含まれているかどうかも確認し、その場合はカーネルを[更新および再起動](https://docs.aws.amazon.com/linux/al2023/ug/updating.html)してください。

特定のカーネルライブパッチを適用するか、利用可能なカーネルライブパッチを定期的なセキュリティ更新プログラムと一緒に適用するかを選択できます。

**特定のカーネルライブパッチを適用するには**

1. 「[利用可能なカーネルライブパッチを表示する](#live-patching-view-available)」で説明されているコマンドのいずれかを使用して、カーネルライブパッチのバージョンを取得します。

1. AL2023 カーネルのカーネルライブパッチを適用します。

   ```
   $ sudo dnf install kernel-livepatch-kernel_version-package_version.amzn2023.x86_64
   ```

   例えば、以下のコマンドは、AL2023 カーネルバージョン `6.1.12-17.42` のカーネルライブパッチを適用します

   ```
   $ sudo dnf install kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64
   ```

**利用可能なカーネルライブパッチを定期的なセキュリティ更新プログラムと一緒に適用する方法**  
次のコマンドを使用します。

```
$ sudo dnf upgrade --security
```

バグ修正プログラムを含めるには、`--security` オプションを省略します。

**重要**  
カーネルライブパッチを適用しても、カーネルバージョンは更新されません。バージョンは、インスタンスを再起動した後でのみ新しいバージョンに更新されます。
AL2023 カーネルは、カーネルライブパッチを 3 か月間入手できます。その後は、そのカーネルバージョンの新しいカーネルライブパッチはリリースされなくなります。
3 か月が過ぎた後にカーネルライブパッチを引き続き入手するには、インスタンスを再起動して新しいカーネルバージョンに移行する必要があります。インスタンスは、更新後 3 か月間は引き続きカーネルライブパッチを受け取ります。
お使いのカーネルバージョンのサポート期間を確認するには、以下のコマンドを実行します。  

  ```
  $ sudo dnf kernel-livepatch support
  The current version of the Linux kernel you are running will no longer receive live patches after 2025-07-22.
  ```

### 適用されたカーネルライブパッチの表示
<a name="live-patching-view"></a>

**適用されたカーネルライブパッチを表示するには**  
次のコマンドを使用します。

```
$ sudo kpatch list
Loaded patch modules:
livepatch_CVE_2022_36946 [enabled]

Installed patch modules:
livepatch_CVE_2022_36946 (6.1.57-29.131.amzn2023.x86_64)
livepatch_CVE_2022_36946 (6.1.57-30.131.amzn2023.x86_64)
```

このコマンドは、ロードおよびインストールされたセキュリティ更新プログラムのカーネルライブパッチのリストを返します。出力例を次に示します。

**注記**  
1 つのカーネルライブパッチには、複数のライブパッチが含まれていてインストールされる場合があります。

### カーネルライブパッチの無効化
<a name="live-patching-disable"></a>

カーネルライブパッチを使用する必要がなくなった場合は、いつでも無効にできます。
+ livepatches の使用の無効化:

  1. プラグインの無効化: 

     ```
     $ sudo dnf kernel-livepatch manual
     ```

  1. kpatch サービスの無効化: 

     ```
     $ sudo systemctl disable --now kpatch.service
     ```
+ livepatch ツールの完全削除:

  1. プラグインの削除:

     ```
     $ sudo dnf remove kpatch-dnf
     ```

  1. kpatch-runtime の削除:

     ```
     $ sudo dnf remove kpatch-runtime
     ```

  1. インストールされているすべての livepatches の削除:

     ```
     $ sudo dnf remove kernel-livepatch\*
     ```

# AL2023 での Linux カーネルの更新
<a name="kernel-update"></a>

**Topics**
+ [AL2023 での Linux カーネルバージョン](#al2023-kernels)
+ [AL2023 を新しいカーネルバージョンに更新する](#kernelup)
+ [AL2023 カーネル - よくある質問](#al2023-kernel-faq)

## AL2023 での Linux カーネルバージョン
<a name="al2023-kernels"></a>

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

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

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

2026 年 3 月、AL2023 は Linux カーネル 6.18 のサポートを追加しました。更新されたカーネル 6.18 では、プロセッサのサポート、仮想化、セキュリティ、パフォーマンスがさらに向上しました。注目すべき機能には、アーキテクチャ間の IOMMU 機能の改善や、CPU 脆弱性の軽減を管理するための攻撃ベクトル制御などがあります。パフォーマンスの向上は、より高速な FSCRYPT オペレーションによる暗号化の最適化、メモリ管理の改善、新しいオプトイン、CPU ごとの配列ベースのキャッシュレイヤーとしての Sheaves の導入によって実現されます。

## AL2023 を新しいカーネルバージョンに更新する
<a name="kernelup"></a>

2026 年 6 月以降、AL2023 はデフォルトのカーネルを毎年更新します。AMIs の[`al2023-ami-kernel-default`](ec2.md#launch-via-aws-cli)セットは最新の LTS カーネルに更新されるため、新しく起動されたインスタンスは自動的に新しいカーネルバージョンになります。これは、最新のセキュリティ修正とパフォーマンスの向上を最新の状態に保つ最も簡単な方法です。

特定のカーネルバージョンを選択する場合は、目的のカーネルがプリインストールされた AMI を選択するか、既存の AL2023 EC2 インスタンスをアップグレードすることで、カーネル 6.12 または 6.18 で AL2023 を実行できます。

### 特定のカーネルバージョンで AL2023 AMI を実行する
<a name="kernelup-ami"></a>

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

#### カーネル 6.12 の場合
<a name="kernel6.12-ami"></a>
+ arm64 アーキテクチャの `al2023-ami-kernel-6.12-arm64`
+ arm64 アーキテクチャ用 (最小 AMI) の `al2023-ami-minimal-kernel-6.12-arm64`
+ x86\$164 アーキテクチャの `al2023-ami-kernel-6.12-x86_64`
+ x86\$164 アーキテクチャ (最小 AMI) の `al2023-ami-minimal-kernel-6.12-x86_64`

#### カーネル 6.18 の場合
<a name="kernel6.18-ami"></a>
+ arm64 アーキテクチャの `al2023-ami-kernel-6.18-arm64`
+ arm64 アーキテクチャ用 (最小 AMI) の `al2023-ami-minimal-kernel-6.18-arm64`
+ x86\$164 アーキテクチャの `al2023-ami-kernel-6.18-x86_64`
+ x86\$164 アーキテクチャ (最小 AMI) の `al2023-ami-minimal-kernel-6.18-x86_64`

AL2023 AMI の選択の詳細については、「[SSM パラメータと を使用して AL2023 を起動する AWS CLI](ec2.md#launch-via-aws-cli)」を参照してください。

### AL2023 インスタンスを新しいカーネルに更新する
<a name="kernel-ipu"></a>

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

1. 現在のカーネルを検出し、ターゲットバージョンを設定します。

   ```
   # Automatically detect current kernel version BEFORE upgrade
   $ CURRENT_KERNEL=$(uname -r)
   $ SOURCE_VERSION=""
   
   $ if [[ $CURRENT_KERNEL == *"6.12"* ]]; then
       SOURCE_VERSION="6.12"
   else
       SOURCE_VERSION=""
   fi
   
   # Save the source version to a persistent location for use after reboot
   $ echo "${SOURCE_VERSION}" | sudo tee /var/lib/source_kernel_version > /dev/null
   ```

   ```
   # Set your target version (change this to your desired kernel: 6.12 or 6.18)
   $ TARGET_VERSION="6.12"
   ```

   ```
   $ echo "Current kernel: ${SOURCE_VERSION:-6.1}"
   $ echo "Upgrading to kernel ${TARGET_VERSION}"
   ```

1. ターゲットカーネルパッケージをインストールします。

   ```
   $ sudo dnf install -y kernel${TARGET_VERSION}
   ```

1. ターゲットカーネルパッケージの最新バージョンを取得します。

   ```
   $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1) 
   ```

1. 新しいカーネルをデフォルトのカーネルにします。

   ```
   $ sudo grubby --set-default "/boot/vmlinuz-$version" 
   ```

1. システムを再起動します。

   ```
   $ sudo reboot 
   ```

1. 前のカーネルをアンインストールします。

   ```
   # Read the source kernel version from the saved file
   $ SOURCE_VERSION=$(sudo cat /var/lib/source_kernel_version)
   
   # Uninstall the source kernel
   $ sudo dnf remove -y kernel${SOURCE_VERSION}
   ```

1. 追加のカーネルパッケージをターゲットカーネルに相当するものに置き換えます。

   ```
   # Set your target version (change this to your desired kernel: 6.12 or 6.18)
   $ TARGET_VERSION="6.12"
   ```

   ```
   $ declare -A pkgs
   $ pkgs=(
   [bpftool${SOURCE_VERSION}]=bpftool${TARGET_VERSION}
   [kernel${SOURCE_VERSION}-debuginfo]=kernel${TARGET_VERSION}-debuginfo
   [kernel${SOURCE_VERSION}-debuginfo-common]=kernel${TARGET_VERSION}-debuginfo-common
   [kernel${SOURCE_VERSION}-headers]=kernel${TARGET_VERSION}-headers
   [kernel${SOURCE_VERSION}-libbpf]=kernel${TARGET_VERSION}-libbpf
   [kernel${SOURCE_VERSION}-libbpf-devel]=kernel${TARGET_VERSION}-libbpf-devel
   [kernel${SOURCE_VERSION}-libbpf-static]=kernel${TARGET_VERSION}-libbpf-static
   [kernel${SOURCE_VERSION}-modules-extra-common]=kernel${TARGET_VERSION}-modules-extra-common
   [kernel${SOURCE_VERSION}-tools]=kernel${TARGET_VERSION}-tools
   [kernel${SOURCE_VERSION}-tools-devel]=kernel${TARGET_VERSION}-tools-devel
   [perf${SOURCE_VERSION}]=perf${TARGET_VERSION}
   [python3-perf${SOURCE_VERSION}]=python3-perf${TARGET_VERSION}
   )
   $ for pkg in "${!pkgs[@]}"; do 
     rpm -q $pkg && sudo dnf -y swap $pkg "${pkgs["$pkg"]}" ;
   done
   ```

1. (オプション) 以前のカーネルバージョンの kernel-devel をアンインストールします。

   ```
   $ rpm -q kernel${SOURCE_VERSION}-devel && sudo dnf remove -y kernel${SOURCE_VERSION}-devel 
   ```

### 以前のカーネルバージョンへのダウングレード
<a name="kernel-downgrade"></a>

任意の時点で以前のカーネルバージョンにダウングレードする必要がある場合は、次の手順を実行します。

1. 現在のカーネルを検出し、ターゲットバージョンを設定します。

   ```
   # Automatically detect current kernel version BEFORE downgrade
   $ CURRENT_KERNEL=$(uname -r)
   $ SOURCE_VERSION=""
   
   $ if [[ $CURRENT_KERNEL == *"6.12"* ]]; then
       SOURCE_VERSION="6.12"
   elif [[ $CURRENT_KERNEL == *"6.18"* ]]; then
       SOURCE_VERSION="6.18"
   fi
   
   # Save the source version to a persistent location for use after reboot
   $ echo "${SOURCE_VERSION}" | sudo tee /var/lib/source_kernel_version > /dev/null
   ```

   ```
   # Set your target version (change this to your desired kernel)
   # Use "" for kernel 6.1, "6.12" for kernel 6.12
   $ TARGET_VERSION=""
   ```

   ```
   $ echo "Downgrading from kernel ${SOURCE_VERSION:-6.1} to kernel ${TARGET_VERSION:-6.1}"
   ```

1. 追加のカーネルパッケージをターゲットカーネルに相当するものに置き換えます。

   ```
   $ declare -A pkgs
   $ pkgs=(
   [bpftool${TARGET_VERSION}]=bpftool${SOURCE_VERSION}
   [kernel${TARGET_VERSION}-debuginfo]=kernel${SOURCE_VERSION}-debuginfo
   [kernel${TARGET_VERSION}-debuginfo-common]=kernel${SOURCE_VERSION}-debuginfo-common
   [kernel${TARGET_VERSION}-headers]=kernel${SOURCE_VERSION}-headers
   [kernel${TARGET_VERSION}-libbpf]=kernel${SOURCE_VERSION}-libbpf
   [kernel${TARGET_VERSION}-libbpf-devel]=kernel${SOURCE_VERSION}-libbpf-devel
   [kernel${TARGET_VERSION}-libbpf-static]=kernel${SOURCE_VERSION}-libbpf-static
   [kernel${TARGET_VERSION}-modules-extra-common]=kernel${SOURCE_VERSION}-modules-extra-common
   [kernel${TARGET_VERSION}-tools]=kernel${SOURCE_VERSION}-tools
   [kernel${TARGET_VERSION}-tools-devel]=kernel${SOURCE_VERSION}-tools-devel
   [perf${TARGET_VERSION}]=perf${SOURCE_VERSION}
   [python3-perf${TARGET_VERSION}]=python3-perf${SOURCE_VERSION}
   )
   $ for pkg in "${!pkgs[@]}"; do 
     rpm -q "${pkgs["$pkg"]}" && sudo dnf -y swap "${pkgs["$pkg"]}" $pkg ;
   done
   ```

1. ターゲットカーネルパッケージをインストールします。

   ```
   $ sudo dnf install -y kernel${TARGET_VERSION}
   ```

1. ターゲットカーネルパッケージの最新バージョンを取得します。

   ```
   $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1) 
   ```

1. ターゲットカーネルをデフォルトカーネルにします。

   ```
   $ sudo grubby --set-default "/boot/vmlinuz-$version" 
   ```

1. システムを再起動します。

   ```
   $ sudo reboot 
   ```

1. ソースカーネルをアンインストールします。

   ```
   # Read the source kernel version from the saved file
   $ SOURCE_VERSION=$(sudo cat /var/lib/source_kernel_version)
   
   # Uninstall the source kernel
   $ sudo dnf remove -y kernel${SOURCE_VERSION}
   ```

## AL2023 カーネル - よくある質問
<a name="al2023-kernel-faq"></a>

### 1. カーネルの更新後には再起動が必要ですか?
<a name="w2aac37c19b9b3"></a>

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

### 2. 複数のインスタンスでカーネルを最新の状態に保つにはどうすればよいですか?
<a name="w2aac37c19b9b5"></a>

Amazon Linux には、インスタンスのフリートを管理する機能はありません。[AWS Systems Manager](https://aws.amazon.com/systems-manager/) などのツールを使用して、大規模なフリートにパッチを適用することをお勧めします。

### 3. 現在実行しているカーネルのバージョンを確認するにはどうすればよいですか?
<a name="w2aac37c19b9b7"></a>

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

```
$ uname -r 
```

### 4. AL2023 ではどのカーネルを使用することをお勧めしますか?
<a name="w2aac37c19b9b9"></a>

最新の AL2023 カーネル 6.18 にアップグレードすることをお勧めしますが、他のすべての AL2023 カーネルは引き続きサポートされています。お客様は、アップグレードする前にワークロードをテストすることをお勧めします。

### 5. 既存のアプリケーションは AL2023 カーネルで動作しますか?
<a name="w2aac37c19b9c11"></a>

AL2023 は、カーネル 6.1 と同じ新しいカーネル (6.12 または 6.18) をサポートしています。アプリケーションが機能し、内部で改善が行われています。いずれの場合も、新しいカーネルに切り替える前に、特定のワークロードをテストする必要があります。

### 6. カーネル 6.12 または 6.18 のカーネルヘッダー、開発パッケージ、および追加モジュールをインストールするにはどうすればよいですか?
<a name="w2aac37c19b9c13"></a>

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

```
$ version=$(uname -r | grep -oP '^\d+\.\d+')
$ sudo dnf install -y kernel${version}-modules-extra-$(uname -r) kernel${version}-headers-$(uname -r) kernel${version}-devel-$(uname -r)
```

### 7. カーネル 6.12 と 6.18 はどのくらいの期間サポートされますか?
<a name="w2aac37c19b9c15"></a>

カーネル 6.12 と 6.18 は、2029-06-30 の Amazon Linux 2023 の予定終了までサポートされます。