スクリプトを使用して、アーカイブをカスタマイズできます。カスタムスクリプトは、次の目的で使用します。
作成前スクリプトは、作成時にアーカイブの妥当性検査を行い、後でカスタマイズできるようにアーカイブ (特に差分アーカイブ) の準備を行います。このスクリプトを使用して、アーカイブ内にユーザー定義セクションを作成することもできます。
配置前スクリプトは、インストール時にアーカイブの妥当性検査を行い、後でカスタマイズできるようにアーカイブの準備を行います。
配置後スクリプトは、クローンシステム上で新規システムイメージの再構成を行います。
再起動スクリプトは、システムの再起動後に最終的な再構成処理を実行します。
スクリプト作成のガイドラインについては、「カスタムスクリプト作成のガイドライン」を参照してください。
このスクリプトは、アーカイブの作成時に実行されます。このスクリプトには、さまざまな使用法があります。
ソフトウェアの内容および整合性を検証します。整合性に問題がある場合、スクリプトはアーカイブの作成に失敗します。
クローンシステム上での将来のカスタマイズに備えてプロダクトの準備を行います。
アーカイブの作成時に、他のインストールスクリプトを動的に登録します。
フラッシュ作成サマリーファイルにメッセージを追加します。メッセージは短いものでなければならず、スクリプトが起動および終了したこと、およびその結果のみを記録するものでなければなりません。結果は、サマリーセクション内で確認できます。
作成前スクリプトを作成します。「カスタムスクリプト作成のガイドライン」に記されているガイドラインに従います。
スクリプトを /etc/flash/precreation ディレクトリに保存します。
次の例は、作成前スクリプトからの抜粋です。
サマリーセクションに開始時刻を記録するには、次の例を使用します。
echo "MyApp precreation script started">> $FLASHDIR/summary
ソフトウェアの整合性をチェックするには、flcheck コマンドを使用します。このコマンドは、コマンド行では使用できません。このコマンドの構文は次のとおりです。
flcheck software component files and directories ...| - |
たとえば、ファイルおよびディレクトリの妥当性検査を実行するには、次の例を使用します。
flcheck software component files and directories If Not in selection - refuse creation echo "Myapp Integrity Damage">>$FLASHDIR/summary
また、予期しない新規ファイルおよびディレクトリを保持し、アーカイブの作成が失敗しないようにするには、次の例を使用します。
flcheck software component files and directories If Not in selection include by force flinclude software component
配置スクリプトおよびデータを登録するには、次の例を使用します。
ユーザー定義セクションにアプリケーション固有のデータを保存するには、次の例を使用します。
cp custom section $FLASHDIR/custom_sections/MyApp
サマリーセクションにインストールの成功を記録するには、次の例を使用します。
echo "product one flash preparation started." >>$FLASH_DIR/summary ... echo "product one flash preparation finished successfully">>$FLASH_DIR/summary
#!/bin/sh echo "Test precreation script started" >> $FLASH_DIR/summary cat /opt/TestApp/critical_file_list | flcheck - if [ $? != 0 ]; then echo "Test precreation script failure" >> $FLASH_DIR/summary exit 1 if echo "Test precreation script started" >> $FLASH_DIR/summary /opt/TestApplication/license_cloning $FLASH_DIR/predeployment/.TestApplicationLicenceTransfer \ $FLASH_DIR/custom_sections/TestApplicationLicenceCounter echo "Test precreation script finished" >> $FLASH_DIR/summary exit 0
作成前スクリプトを使用して、アーカイブ内にユーザー定義セクションを作成し、アプリケーションに関する特定の情報を提供できます。このセクションの目的は、アーカイブの保守です。スクリプトは、$FLASH_DIR/sections ディレクトリに配置する必要があります。Solaris フラッシュアーカイブは、ユーザー定義セクションを処理しません。たとえば、このセクションには、アーカイブの説明や、アプリケーションの整合性をチェックするスクリプトなどを含めることができます。
ユーザー定義セクションでは、次の書式を使用する必要があります。
行単位で作成する必要がある
改行 (ASCII 0x0a) 文字で終了させる必要がある
個々の行の長さに制限はない
base64 またはそれに類似したアルゴリズムを使用してバイナリデータをコード化する必要がある
このスクリプトは、アーカイブのインストール前に実行されます。スクリプトの目的がアーカイブの妥当性検査である場合、このスクリプトはアーカイブ内に保持されます。スクリプトの目的がクローンシステムのローカル構成を保存することである場合、このスクリプトはクローンシステム上に保持されます。このスクリプトは、将来のカスタマイズに必要なローカルデータの分析および収集も実行可能です。たとえば、クライアント固有の情報を、アーカイブから抽出されるファイルで上書きされる前に保存できます。この情報は、抽出後の最終段階で使用できます。
配置前スクリプトを作成します。「カスタムスクリプト作成のガイドライン」に記されているガイドラインに従います。
スクリプトを次のディレクトリのいずれかに保存します。
アーカイブの妥当性検査を実行するには、/etc/flash/predeployment ディレクトリに保存します。
作成前スクリプトを参照する場合、$FLASH_DIR/preinstall ディレクトリに保存します。
クローンシステム上の構成を保持する場合、JumpStart プロファイル内の local_customization キーワードに、クローンシステムに保存されているスクリプトへのパスを指定します。
#!/bin/sh $FLASH_DIR/TestApplication/check_hardware if [ $? != 0 ]; then echo Unsupported hardware exit 1 fi $FLASH_DIR/TestApplication/check_licence_key if [ $? != 0 ]; then echo No license for this host exit 1 fi $FLASH_DIR/TestApplication/deploy_license_key \ $FLASH_DIR/TestApplication/.TestApplicationLicenceTransfer $FLASH_DIR/TestApplication/save_data_files $FLASH_DIR/flash exit 0
このスクリプトは、アーカイブ内またはクローンシステムのローカルディレクトリに格納され、インストール後に実行されます。スクリプトにより、クローンシステム上で新規システムイメージが再構成されます。スクリプトがアーカイブ内に格納されている場合、変更はすべてのクローンシステムに影響を及ぼします。スクリプトがクローンシステムのローカルディレクトリに格納されている場合、変更はそのクローンシステムにのみ影響します。たとえば、配置前スクリプトにより保存されたクライアント固有の情報をクローン環境に適用して、インストールを完了できます。
配置後スクリプトを使用して、アーカイブのインストール後にファイルを整理することも可能です。たとえば、/var/adm 内のログファイルなどを削除できます。
すべてのログファイルが、クリーンアップ用のスクリプトを必要とするわけではありません。/var/tmp 内のログファイルはアーカイブの作成時に自動的に削除されます。
配置後スクリプトを作成します。「カスタムスクリプト作成のガイドライン」に記されているガイドラインに従います。
スクリプトを次のディレクトリのいずれかに保存します。
すべてのクローンシステムを操作するには、スクリプトを /etc/flash/postdeployment ディレクトリに保存します。
ローカルのクローンシステムのみを操作する場合は、JumpStart プロファイル内の local_customization キーワードに、クローンシステムに保存されているスクリプトへのパスを指定します。
#!/bin/sh $FLASH_DIR/TestApplication/clone_reconfiguration $FLASH_DIR/TestApplication/restore_data $FLASH_DIR/flash
このスクリプトはアーカイブ内に格納され、システムの再起動後に実行されます。このスクリプトにより、システムの再構成後の最終構成がすべて実行されます。
クローンシステムに Solaris フラッシュアーカイブをインストールしたあと、ホスト固有のファイルがいくつか削除され、クローンマシン用として作成し直されます。インストールプログラムは、sys-unconfig(1M) コマンドと sysidtool(1M) プログラムを使用して、ホスト固有のネットワーク構成ファイルを削除して再作成します。再作成されるファイルは、/etc/hosts、/etc/defaultrouter、/etc/defaultdomain などです。再起動スクリプトを使用することで、任意の最終的な再構成処理を実行できます。
#!/bin/sh $FLASH_DIR/TestApplication/finalize_license