ディストリビューションコンストラクタでは、構築するイメージの種類に基づいて、イメージ作成プロセス中にカスタマイズするために使用する追加スクリプトを指定できます。マニフェストファイルはスクリプトを示し、スクリプトは汎用イメージをメディア固有の配布用に変換します。これらのスクリプトは、マニフェストファイルの実行セクションで参照されます。カスタムスクリプトチェックポイントはいくつでも指定できます。
また、マニフェストファイルの実行セクションで指定されているスクリプトは、イメージ作成プロセス中に実行されることに注意してください。実行セクションは、インストール前処理スクリプトまたはインストール後処理スクリプトを参照しません。
独自のカスタムスクリプトを作成する場合は、次の点に注意してください。
スクリプトには、Python プログラム、シェルスクリプト、またはバイナリを使用できます。
スクリプトは、マニフェストファイルの実行セクションに記載されている順に実行されます。
スクリプト (シェルと Python の両方のモジュール) 内で実行されるコマンドの標準出力 (stdout) およびエラー出力 (stderr) が、構築の完了時または試行時に報告するログファイルで取得されます。
root 役割になるユーザーがこれらのスクリプトを実行できます。
新しいチェックポイントの設定先を決定するには、構築チェックポイントの設定に記載されているデフォルトチェックポイントの説明を確認してください。
スクリプトには必ずフルパスを指定してください。チェックポイントは、マニフェストの実行セクションに記載されている順に実行されます。
マニフェストファイルの完了セクションに新しいスクリプトの参照を追加するときには、そのスクリプトのタスクの実行前または実行後にイメージ構築を一時停止するのに使用するチェックポイント名を指定する必要があります。必要に応じて、チェックポイント名に関連付けたカスタムメッセージを指定することもできます。このメッセージを省略すると、スクリプトのパスがデフォルトのチェックポイントメッセージとして使用されます。構築プロセス中にチェックポイントが実行されると、チェックポイントメッセージが表示されます。
次のチェックポイントの例では、「my-script」という名前のカスタムスクリプトが参照されます。
<checkpoint name="my-script" desc="my new script" mod_path="solaris_install/distro_const/checkpoints/custom_script" checkpoint_class="CustomScript"> <args>/tmp/myscript.sh</args> </checkpoint>
ここで、引数セクションの構築パラメータとして {PKG_IMAGE_PATH} が指定されます。
<checkpoint name="my-script" desc="my new script" mod_path="solaris_install/distro_const/checkpoints/my_script" checkpoint_class="CustomScript"> <args>/tmp/myscript.sh {PKG_IMAGE_PATH}</args> </checkpoint>
{PKG_IMAGE_PATH} および {BOOT_ARCHIVE} の値は、チェックポイントに含まれる場合、distro_const ユーティリティーによって ZFS dataset /build_data/pkg_image および ZFS dataset /build_data/boot_archive にそれぞれ置き換えられます。
イメージは 1 ステップで構築できます。または、構築のステータスをチェックするために、さまざまなチェックポイントで構築を停止および再開できます。
手順については、Chapter 3, イメージの構築を参照してください。
構築出力には、ログファイルの場所が表示されます。