ワークロードに合わせてAmazon Linux 2023 のサンプルイメージの説明をカスタマイズする
Amazon Linux 2023 のサンプルイメージの説明をカスタマイズし、特定のワークロードに必要なソフトウェアパッケージ、スクリプト、ファイルを含めることができます。カスタマイズは、KIWI NG イメージの説明のさまざまな要素に追加または変更することで実現されます。
リポジトリ管理
デフォルトでは、サンプルイメージの説明には、Amazon Linux 2023 コアリポジトリのミラーエンドポイントを指す単一の <repository> 要素が含まれています。必要に応じて、必要なソフトウェアをインストールする他のリポジトリへの参照を追加できます。
サンプルイメージの説明では、<packagemanager> 要素で定義されている dnf パッケージマネージャーを使用します。
リポジトリの追加の詳細については、「リポジトリのセットアップ
パッケージ管理
デフォルトでは、サンプルイメージの説明には、erofs 読み取り専用ファイルシステムを持つ分離されたコンピューティング環境用の Amazon Linux 2023 Attestable AMI を作成するために必要なすべてのパッケージが含まれています。
イメージの説明の <packages> 要素に追加することで、イメージの説明に追加のソフトウェアパッケージを含めることができます。<packages> 要素は、AMI にインストールする必要があるすべてのソフトウェアを定義します。
<packages> 要素を使用して、特定のソフトウェアパッケージをアンインストールまたは削除することもできます。
イメージの説明でパッケージを追加または削除する方法の詳細については、「パッケージの追加と削除
ファイルとディレクトリの追加
サンプルイメージの説明には、オーバーレイツリーディレクトリ (/root/) が含まれています。オーバーレイツリーディレクトリは、イメージビルドプロセス中にイメージにコピーされるファイルとディレクトリを含むディレクトリです。オーバーレイツリーディレクトリに配置するファイルとディレクトリは、イメージビルドプロセス中にイメージのルートファイルシステムに直接コピーされます。
すべてのパッケージがインストールされると、オーバーレイツリーディレクトリがイメージにコピーされます。新しいファイルが追加され、既存のファイルが上書きされます。
カスタムスクリプトの追加
サンプルイメージの説明には、単一のカスタムスクリプト edit_boot_install.sh が含まれています。このスクリプトには、イメージの内容に基づいてリファレンス測定値を生成する nitro-tpm-pcr-compute ユーティリティの実行に必要なコマンドが含まれています。このスクリプトは、ブートローダーのインストール直後に呼び出されます。
必要に応じて、イメージの説明に独自のカスタムスクリプトを含めて、イメージビルドプロセス中またはイメージの最初の起動時にタスクまたは設定を実行できます。スクリプトを使用すると、イメージの説明だけでは実現できない方法でイメージをカスタマイズできます。
イメージの説明にカスタムスクリプトを含めるには、スクリプトのタイプに基づいてスクリプトに正しく名前を付け、appliance.kiwi ファイルと同じディレクトリに追加する必要があります。KIWI NG は、スクリプトの名前が正しくて正しい場所に配置されていれば、スクリプトを自動的に検出して実行します。イメージの説明ファイルでスクリプトを明示的に参照する必要はありません。
KIWI NG でサポートされているスクリプトの詳細については、「ユーザー定義スクリプト