20.2 firstbootインストールのカスタマイズ

firstbootインストールのカスタマイズには、さまざまなコンポーネントが含まれます。 それらのカスタマイズは省略することもできます。 何も変更を行わなかった場合、firstbootはデフォルトの設定を使ってインストールを行います。 次のオプションを指定できます。

これらのコンポーネントをカスタマイズするには、次の環境設定ファイルを編集します。

/etc/sysconfig/firstboot

リリースノート、スクリプト、およびライセンス動作など、firstbootの環境設定を行います。

/etc/YaST2/firstboot.xml

コンポーネントを有効/無効にしたり、カスタムコンポーネントを追加して、インストールワークフローの環境設定を行います。

20.2.1 YaSTメッセージのカスタマイズ

デフォルトでは、SUSE Linux Enterprise Serverのインストールにはさまざまなデフォルトメッセージが含まれています。これらのメッセージは、インストールの進み具合に応じて適宜表示されます。たとえば、歓迎のメッセージ、ライセンスメッセージ、およびインストールの完了を知らせるメッセージなどが含まれます。 これらのメッセージを独自のメッセージに変更したり、翻訳したメッセージを入れることができます。 独自の歓迎メッセージを入れるには、以下の手順に従ってください。

  1. rootとしてログインします。

  2. 環境設定ファイル/etc/sysconfig/firstbootを開いて、次の変更を行います。

    1. FIRSTBOOT_WELCOME_DIRに、歓迎メッセージとローカライズ版を含むファイルを保存するディレクトリパスを設定します。次に例を示します。

      FIRSTBOOT_WELCOME_DIR="/usr/share/firstboot/"
      
    2. 歓迎メッセージのファイル名がwelcome.txtおよびwelcome_locale.txt (localecsdeなどのISO 639言語コードに一致する)以外の場合、ファイル名のパターンをFIRSTBOOT_WELCOME_PATTERNSで指定してください。たとえば、次のようにします。

      FIRSTBOOT_WELCOME_PATTERNS="mywelcome.txt"

      このパラメータを設定しない場合、デフォルトのwelcome.txtが使用されます。

  3. 歓迎メッセージファイルとそのローカライズ版を作成し、それを環境設定ファイル/etc/sysconfig/firstbootに指定されているディレクトリに保管します。

ライセンスメッセージやインストール完了メッセージも、同じような方法でカスタマイズすることができます。 これらの変数は、それぞれFIRSTBOOT_LICENSE_DIR(ライセンス)およびFIRSTBOOT_FINISH_FILE(完了)になります。

インストール後すぐにYaSTを起動する必要がある場合は、SHOW_Y2CC_CHECKBOXはいに変更します。

20.2.2 ライセンス動作のカスタマイズ

ユーザが使用許諾契約に同意しない場合のインストールシステムの動作をカスタマイズすることができます。 使用許諾契約に同意しないユーザに対するシステムの動作は、3種類用意されています。

halt

firstbootインストールを中止し、システムをシャットダウンします。 デフォルトの設定です。

continue

firstbootインストールを続行します。

abort

firstbootインストールを中止しますが、ブートを試みます。

動作を決めたら、LICENSE_REFUSAL_ACTIONに適切な値を設定します。

20.2.3 リリースノートのカスタマイズ

firstbootを使って展開するSUSE Linux Enterprise Serverのインスタンスを変更したかどうかに応じて、エンドユーザに新しいオペレーティングシステムの重要な情報を知らせる必要があります。標準インストールでは、ユーザに重要な情報を知らせるために、リリースノートを使用します。リリースノートは、インストール完了時に表示されます。 firstbootのインストール完了時に、独自のリリースノートを表示するには、以下の手順に従ってください。

  1. 独自のリリースノートファイルを作成します。 /usr/share/doc/release-notesにあるサンプルファイルのようなRTF形式を使用して、結果をRELEASE-NOTES.en.rtfファイルに保存してください。

  2. オプションのローカライズ版をオリジナル版の次に保存し、ファイル名のenの部分を該当するISO 639言語コードに置き換えます。たとえば、日本語版の場合はjaになります。

  3. /etc/sysconfig/firstbootにあるfirstboot環境設定ファイルを開いて、FIRSTBOOT_RELEASE_NOTES_PATHにリリースノートを保存したディレクトリを指定します。

20.2.4 ワークフローのカスタマイズ

デフォルトでは、標準のfirstbootワークフローには、次のコンポーネントが含まれています。

  • 言語の選択

  • ようこそ

  • 使用許諾契約

  • ホスト名

  • Network

  • 日付と時刻

  • Desktop

  • rootのパスワード

  • ユーザ認証方法

  • ユーザ管理

  • ハードウェア設定

  • セットアップの完了

このfirstbootインストールワークフローの標準レイアウトは、必須ではありません。 特定のコンポーネントを有効/無効にしたり、独自のモジュールをワークフローにフックすることができます。 firstbootワークフローを変更するには、firstboot環境設定ファイル/etc/YaST2/firstboot.xmlを編集します。 このXMLファイルは、YaSTがインストールワークフローを制御するために使用する標準のcontrol.xmlファイルのサブセットになります。

提案に関する概要は、例 20-1を参照してください。firstbootインストールワークフローの変更の概要が示されています。この例には、firstboot環境設定ファイルの基本的な構文、および主要要素の設定内容なども説明されています。

例 20-1 提案画面の設定

    …
    <proposals config:type="list">
        <proposal>
            <name>firstboot_hardware</name>
            <mode>installation</mode>
            <stage>firstboot</stage>
            <label>Hardware Configuration</label>
            <proposal_modules config:type="list">
                <proposal_module>printer</proposal_module>
            </proposal_modules>
        </proposal>
        <proposal>
        …
        </proposal>
    </proposals>
   

firstbootワークフローの一部となるすべての提案用のコンテナです。

個人提案用のコンテナです。

提案の内部名です。

この提案のモードです。 ここは変更しないでください。 firstbootインストールを行う場合、installationと設定する必要があります。

この提案を行う、インストールプロセスのステージです。 ここは変更しないでください。 firstbootインストールを行う場合、firstbootと設定する必要があります。

提案に表示するラベルです。

提案画面の一部となるすべてのモジュール用コンテナです。

提案画面の一部となる、1つまたは複数のモジュールです。

firstboot環境設定ファイルの次のセクションは、ワークフロー定義から成り立っています。 ここには、firstbootインストールワークフローの一部とするすべてのモジュールを記載する必要があります。

例 20-2 Workflow(ワークフロー)セクションの設定

    <workflows  config:type="list">
        <workflow>
            <defaults>
                <enable_back>yes</enable_back>
                <enable_next>yes</enable_next>
                <archs>all</archs>
            </defaults>
            <stage>firstboot</stage>
            <label>Configuration</label>
            <mode>installation</mode>
            … <!–– list of modules  ––>
            </modules>
        </workflow>
    </workflows>
    …
  

workflowセクションの全体的な構造は、proposalセクションと似ています。 コンテナには、ワークフロー要素が保持されます。ワークフロー要素には、例 20-1で説明している提案と同様に、ステージ、ラベル、およびモード情報などが含まれます。 一番大きな違いは、defaultsセクションです。このセクションには、ワークフローコンポーネントの基本的なデザイン情報が含まれています。

enable_back

すべてのダイアログに、[Back(戻る)]ボタンを入れます。

enable_next

すべてのダイアログに、[Next(次へ)]ボタンを入れます。

archs

このワークフローを使用するハードウェアアーキテクチャを指定します。

例 20-3 ワークフローコンポーネントリストの設定

    <modules  config:type="list">
        <module>
            <label>Language</label>
            <enabled config:type="boolean">false</enabled>
            <name>firstboot_language</name>
        </module>
    <modules>
  

ワークフローの全コンポーネントのコンテナです。

モジュール定義です。

モジュールと一緒に表示するラベルです。

ワークフローでこのコンポーネントを有効/無効にするためのスイッチです。

モジュール名です。 モジュールは、/usr/share/YaST2/clientsにファイル拡張子.ycpで保管する必要があります。

firstbootインストール時の提案画面数または表示順序を変更するには、以下の手順に従ってください。

  1. /etc/YaST2/firstboot.xmlにあるfirstboot環境設定ファイルを開きます。

  2. 提案画面を追加、削除したり、既存の画面の順序を変更します。

    • 提案全体を削除するには、proposalセクションからproposals要素とそのサブ要素を削除して、ワークフローから対応するmodule要素とサブ要素を削除します。

    • 新しく提案を追加するには、新たにproposal要素を作成し、必要なサブ要素を指定します。 提案が/usr/share/YaST2/clientsのYaSTモジュールとして存在するようにしてください。

    • 提案の順序を変更するには、ワークフロー内で該当する提案を含むmodule要素を移動します。 特定の順序で提案やワークフローコンポーネントを実施しなければならないような、他のインストールステップとの依存関係がある場合もあることに注意してください。

  3. 変更内容を反映し、環境設定ファイルを閉じます。

デフォルト設定がニーズに合わない場合は、環境設定ステップのワークフローを随時変更することができます。 ワークフロー内の適切なモジュールを有効/無効にしたり、独自のカスタムモジュールを追加してください。

firstbootワークフローのモジュールのステータスを切り替えるには、以下の手順に従ってください。

  1. /etc/YaST2/firstboot.xml環境設定ファイルを開きます。

  2. モジュールを無効にする場合は、enabled要素の値を、trueからfalseに変更します。有効にする場合は、falseからtrueに変更します。

    <module>
        <label>Time and Date</label>
        <enabled config:type="boolean">true</enabled>
        <name>firstboot_timezone</name>
    </module>
    
  3. 変更内容を反映し、環境設定ファイルを閉じます。

独自のカスタムモジュールをワークフローに追加するには、以下の手順に従ってください。

  1. 独自のYaSTモジュールを作成し、ファイル名module_name.ycp/usr/share/YaST2/clientsに保存します。

  2. /etc/YaST2/firstboot.xml環境設定ファイルを開きます。

  3. このモジュールを実行するワークフロー内のポイントを決定します。 そのためには、ワークフロー内の他のステップとの依存関係を検討し、必要に応じてそれを解消する必要があります。

  4. modulesコンテナ内に新たなmodule要素を作成し、適切なサブ要素を追加します。

    <modules config:type="list">
         …
         <module>
            <label>my_module</label>
            <enabled config:type="boolean">true</enabled>
            <name>filename_my_module</name>
         </module>
    </modules>
    
    1. label要素に、モジュールで表示するラベルを入力します。

    2. ワークフロー内にモジュールを入れるために、enabledtrueが設定されていることを確認します。

    3. name要素に、モジュールのファイル名を入力します。 このときに、フルパスと拡張子.ycpは省略してください。

  5. 設定内容を反映し、環境設定ファイルを閉じます。

ヒント: 詳細情報

YaST開発の詳細は、http://developer.novell.com/wiki/index.php/YaSTを参照してください。YaST firstboot の詳細については、http://forgeftp.novell.com/yast/doc/SL11.1/tdg/inst_in_general_chap.htmlを参照してください。

20.2.5 追加スクリプトの設定

firstbootワークフローの実行完了後に、他のスクリプトを実行するように設定できます。 firstbootシーケンスに他のスクリプトを追加するには、以下の手順に従ってください。

  1. /etc/sysconfig/firstboot環境設定ファイルを開いて、SCRIPT_DIRに指定されているパスが正しいことを確認します。 デフォルトは/usr/share/firstboot/scriptsです。

  2. シェルスクリプトを作成し、指定したディレクトリに保存します。次に、そのファイルに適切なファイルパーミッションを設定します。