19 カスタマイズした事前インストールの配布 #
カスタマイズしたSUSE Linux Enterprise Serverの事前インストールを多数の同じコンピュータにロールアウトすると、各コンピュータに個別にインストールする手間を省けます。また、エンドユーザには標準化されたインストールを提供できます。YaST firstbootを使用して、カスタマイズしたプリインストールイメージを作成し、エンドユーザが介入する最後のパーソナライズ手順のワークフローを決定します(完全に自動化したインストールができるAutoYaSTとは対照的)。詳細については、『AutoYaSTガイド』の「System registration and extension selection (システム登録と拡張機能の選択)」を参照してください。
カスタムインストールを作成し、それを展開して各自の要件に合わせた環境設定を行わせるには、次のような作業を行います。
クライアントコンピュータに複製する必要のあるディスクを持つマスタコンピュータを準備します。詳細については、19.1項 「マスタマシンの準備」を参照してください。
ワークフローをカスタマイズします。詳細については、19.2項 「firstbootインストールのカスタマイズ」を参照してください。
マスタコンピュータのディスクを複製し、そのイメージをクライアントのディスクに展開します。詳細については、19.3項 「マスタインストールの複製」を参照してください。
エンドユーザに、各自の要件に合わせてSUSE Linux Enterprise Serverのインスタンスをパーソナライズしてもらいます。詳細については、19.4項 「インストールの個人設定」を参照してください。
19.1 マスタマシンの準備 #
firstbootワークフロー用のマスタマシンを準備するには、以下の手順に従ってください。
インストールメディアをマスタコンピュータに挿入します。
コンピュータを起動します。
必要とされるすべての設定を行うなど、通常のインストールを実行します。
yast2-firstbootパッケージをインストール対象に選択したか確認してください。エンドユーザ用のYaST環境設定ワークフローを定義したり、このワークフローに独自のYaSTモジュールを追加したりする場合は、19.2項 「firstbootインストールのカスタマイズ」に進んでください。それ以外の場合は、ステップ 5に進んでください。
rootとしてfirstbootを有効にします。firstbootの実行をトリガする空のファイル
/var/lib/YaST2/reconfig_systemを作成します。firstbootの環境設定が正しく完了すると、このファイルは削除されます。このファイルを作成するには、次のコマンドを使用します。touch /var/lib/YaST2/reconfig_system
19.3項 「マスタインストールの複製」に進みます。
19.2 firstbootインストールのカスタマイズ #
firstbootインストールのワークフローのカスタマイズには、さまざまなコンポーネントが含まれる場合があります。これらのコンポーネントをカスタマイズすることをお勧めします。何も変更を行わなかった場合、firstbootはデフォルトの設定を使ってインストールを行います。次のオプションを指定できます。
ユーザへのメッセージのカスタマイズ(19.2.1項 「YaSTメッセージのカスタマイズ」参照)
ライセンスおよびライセンス動作のカスタマイズ(19.2.2項 「ライセンス動作のカスタマイズ」参照)
表示するリリースノートのカスタマイズ(19.2.3項 「リリースノートのカスタマイズ」参照)
インストールに含まれるコンポーネントの順序と数のカスタマイズ(19.2.4項 「ワークフローのカスタマイズ」参照)
追加オプションスクリプトの設定(19.2.5項 「追加スクリプトの設定」参照)
これらのコンポーネントをカスタマイズするには、次の環境設定ファイルを変更します。
/etc/sysconfig/firstbootfirstbootのさまざまな側面(リリースノート、スクリプト、ライセンス動作など)を設定します。
/etc/YaST2/firstboot.xmlコンポーネントを有効/無効にしたり、カスタムコンポーネントを追加して、インストールワークフローの環境設定を行います。
このようなカスタマイズしたインストールワークフローの翻訳を提供します(19.2.6項 「インストールワークフローの翻訳の提供」参照)。
ヒント: 制御ファイルの別の配置場所/etc/YaST2/firstboot.xmlは、yast2-firstbootパッケージによってインストールされた制御ファイルのデフォルトのパスです。制御ファイルの別の配置場所を定義する必要がある場合は、/etc/sysconfig/firstbootを編集して、FIRSTBOOT_CONTROL_FILE変数を目的の場所に変更します。
カスタマイズの対象がワークフローコンポーネントだけでない場合は、control.xmlのマニュアルをhttp://doc.opensuse.org/projects/YaST/SLES11/tdg/inst_in_general_chap.html#product_controlで参照してください。
19.2.1 YaSTメッセージのカスタマイズ #
デフォルトでは、SUSE Linux Enterprise Serverのインストールにはさまざまなデフォルトメッセージが含まれています。これらのメッセージは、インストールの進み具合に応じて適宜表示されます。たとえば、歓迎のメッセージ、ライセンスメッセージ、およびインストールの完了を知らせるメッセージなどが含まれます。これらのメッセージを独自のメッセージに変更したり、翻訳したメッセージを入れることができます。独自の歓迎メッセージを入れるには、以下の手順に従ってください。
rootとしてログインします。環境設定ファイル
/etc/sysconfig/firstbootを開いて、次の変更を行います。FIRSTBOOT_WELCOME_DIRに、歓迎メッセージとローカライズ版を含むファイルを保存するディレクトリパスを設定します。次に例を示します。FIRSTBOOT_WELCOME_DIR="/usr/share/firstboot/"
歓迎メッセージのファイル名が
welcome.txtおよびwelcome_locale.txt(localeは「cs」や「de」などのISO 639言語コードに一致する)以外の場合、ファイル名のパターンをFIRSTBOOT_WELCOME_PATTERNSで指定してください。例:FIRSTBOOT_WELCOME_PATTERNS="mywelcome.txt"
このパラメータを設定しない場合、デフォルトの
welcome.txtが使用されます。
歓迎メッセージファイルとそのローカライズ版を作成し、それを環境設定ファイル
/etc/sysconfig/firstbootに指定されているディレクトリに保管します。
ライセンスメッセージやインストール完了メッセージも、同じような方法でカスタマイズすることができます。これらの変数は、それぞれFIRSTBOOT_LICENSE_DIR(ライセンス)およびFIRSTBOOT_FINISH_FILE(完了)になります。
インストールの直後にYaSTを起動できる必要がある場合は、SHOW_Y2CC_CHECKBOXを「yes」に変更します。
19.2.2 ライセンス動作のカスタマイズ #
ユーザが使用許諾契約に同意しない場合のインストールシステムの動作をカスタマイズできます。このシナリオに対するシステムの動作には、次の3つがあります。
- halt
firstbootインストールを中止し、システムをシャットダウンします。デフォルトの設定です。
- continue
firstbootインストールを続行します。
- abort
firstbootインストールを中止しますが、システムのブートを試行します。
動作を決めたら、LICENSE_REFUSAL_ACTIONに適切な値を設定します。
19.2.3 リリースノートのカスタマイズ #
firstbootで展開するSUSE Linux Enterprise Serverのインスタンスを変更したかどうかによって、新しいオペレーティングシステムの重要な情報をエンドユーザに知らせることが必要な場合があります。標準インストールでは、リリースノートを使用して、ユーザに重要な情報を知らせます(リリースノートは、インストールの最終段階の1つで表示されます)。firstbootのインストール完了時に、独自のリリースノートを表示するには、以下の手順に従ってください。
独自のリリースノートファイルを作成します。
/usr/share/doc/release-notesにあるサンプルファイルのようなRTF形式を使用して、結果をRELEASE-NOTES.en.rtfファイルに保存してください。オプションのローカライズ版をオリジナル版の次に保存し、ファイル名の
enの部分を該当するISO 639言語コードに置き換えます。たとえば、日本語版の場合はjaになります。/etc/sysconfig/firstbootにあるfirstboot環境設定ファイルを開いて、FIRSTBOOT_RELEASE_NOTES_PATHにリリースノートを保存したディレクトリを指定します。
19.2.4 ワークフローのカスタマイズ #
/etc/YaST2/firstboot.xmlに含まれるサンプルは、標準的なワークフローを定義したもので、次のような有効化されているコンポーネントが含まれています。
言語の選択
ようこそ
使用許諾契約
日付と時刻
ユーザ
rootのパスワード
セットアップの完了
このワークフローは、あくまでテンプレートです。firstboot設定ファイルである/etc/YaST2/firstboot.xmlを手動で編集することで、適切な内容に調整できます。このXMLファイルは、YaSTがインストールワークフローを制御するために使用する標準のcontrol.xmlファイルのサブセットになります。ワークフローセクションの設定方法の詳細については、例19.2「Workflow (ワークフロー)セクションの設定」を参照してください。
提案の概要は、例19.1「提案画面の設定」を参照してください。firstbootインストールワークフローの変更の概要が示されています。この例では、firstboot環境設定ファイルの基本的な構文(および主要要素の設定方法)が説明されています。
…
<proposals config:type="list">1
<proposal>2
<name>firstboot_hardware</name>3
<mode>installation</mode>4
<stage>firstboot</stage>5
<label>Hardware Configuration</label>6
<proposal_modules config:type="list">7
<proposal_module>printer</proposal_module>8
</proposal_modules>
</proposal>
<proposal>
…
</proposal>
</proposals>firstbootワークフローの一部となるすべての提案用のコンテナです。 | |
個人提案用のコンテナです。 | |
提案の内部名です。 | |
この提案のモードです。ここは変更しないでください。firstbootインストールを行う場合、 | |
この提案を行う、インストールプロセスのステージです。ここは変更しないでください。firstbootインストールを行う場合、 | |
提案に表示するラベルです。 | |
提案画面の一部となるすべてのモジュール用コンテナです。 | |
提案画面の一部となる、1つまたは複数のモジュールです。 |
firstboot環境設定ファイルの次のセクションは、ワークフロー定義から成り立っています。ここには、firstbootインストールワークフローの一部とするすべてのモジュールを記載する必要があります。
<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セクションと似ています。コンテナには、ワークフロー要素が保持されます。すべてのワークフロー要素にはステージ、ラベル、およびモード情報が含まれます(例19.1「提案画面の設定」に示されている提案と同様)。一番大きな違いは、defaultsセクションです。このセクションには、ワークフローコンポーネントの基本的なデザイン情報が含まれています。
enable_backすべてのダイアログに、ボタンを入れます。
enable_nextすべてのダイアログに、ボタンを入れます。
archsこのワークフローを使用するハードウェアアーキテクチャを指定します。
<modules config:type="list">1 <module>2 <label>Language</label>3 <enabled config:type="boolean">false</enabled>4 <name>firstboot_language</name>5 </module> <modules>
ワークフローの全コンポーネントのコンテナです。 | |
モジュール定義です。 | |
モジュールと一緒に表示するラベルです。 | |
ワークフローでこのコンポーネントを有効/無効にするためのスイッチです。 | |
モジュール名です。モジュール自体は |
firstbootインストール時の提案画面数または表示順序を変更するには、以下の手順に従ってください。
/etc/YaST2/firstboot.xmlにあるfirstboot環境設定ファイルを開きます。提案画面を追加、削除したり、既存の画面の順序を変更します。
提案全体を削除するには、
proposalセクションからproposals要素とそのサブ要素を削除して、ワークフローから対応するmodule要素とサブ要素を削除します。新しく提案を追加するには、新たに
proposal要素を作成し、必要なサブ要素を指定します。提案がYaSTモジュールとして/usr/share/YaST2/clientsに存在するようにしてください。提案の順序を変更するには、ワークフロー内で該当する提案を含む
module要素を移動します。特定の順序で提案やワークフローコンポーネントを実施しなければならないような、他のインストールステップとの依存関係が存在する場合があることに注意してください。
変更内容を反映し、環境設定ファイルを閉じます。
デフォルト設定がニーズに合わない場合は、環境設定ステップのワークフローを随時変更することができます。ワークフロー内の特定のモジュールを有効または無効にします(あるいは、独自のカスタムモジュールを追加します)。
firstbootワークフローのモジュールのステータスを切り替えるには、以下の手順に従ってください。
/etc/YaST2/firstboot.xml環境設定ファイルを開きます。モジュールを無効にする場合は、
enabled要素の値を、trueからfalseに変更します。有効にする場合は、falseからtrueに変更します。<module> <label>Time and Date</label> <enabled config:type="boolean">true</enabled> <name>firstboot_timezone</name> </module>変更内容を反映し、環境設定ファイルを閉じます。
独自のカスタムモジュールをワークフローに追加するには、以下の手順に従ってください。
独自のYaSTモジュールを作成し、ファイル名を
module_name.rbで/usr/share/YaST2/clientsに保存します。/etc/YaST2/firstboot.xml環境設定ファイルを開きます。新しいモジュールを実行するワークフロー内のポイントを決定します。そのためには、ワークフロー内の他のステップとの依存関係を検討し、解消する必要があります。
modulesコンテナ内に新たなmodule要素を作成し、適切なサブ要素を追加します。<modules config:type="list"> … <module> <label>my_module</label> <enabled config:type="boolean">true</enabled> <name>filename_my_module</name> </module> </modules>モジュールに表示するラベルを
label要素に入力します。ワークフロー内にモジュールを入れるために、
enabledにtrueが設定されていることを確認します。name要素に、モジュールのファイル名を入力します。このときに、フルパスと拡張子.rbは省略してください。
設定内容を反映し、環境設定ファイルを閉じます。
ターゲットハードウェアが複数のネットワークインタフェースをもつ可能性がある場合は、アプリケーションのイメージにnetwork-autoconfigパッケージを追加します。network-autoconfigを使用した場合、いずれかのEthernetインタフェースがDHCP経由で正常に設定されるまで、すべての利用可能なEthernetインタフェースの設定を繰り返します。
19.2.5 追加スクリプトの設定 #
firstbootワークフローの完了後に、firstbootが追加スクリプトを実行するように設定できます。firstbootシーケンスに他のスクリプトを追加するには、以下の手順に従ってください。
/etc/sysconfig/firstboot環境設定ファイルを開いて、SCRIPT_DIRに指定されているパスが正しいことを確認します。デフォルトは/usr/share/firstboot/scriptsです。シェルスクリプトを作成し、指定したディレクトリに保存します。次に、そのファイルに適切なファイルパーミッションを設定します。
19.2.6 インストールワークフローの翻訳の提供 #
エンドユーザによっては、カスタマイズしたワークフローの翻訳を提供することが望ましい場合があります。それらの翻訳が必要になるのは/etc/YaST2/firstboot.xmlファイルの変更によってワークフローをカスタマイズした場合です(19.2.4項 「ワークフローのカスタマイズ」参照)。
/etc/YaST2/firstboot.xmlを変更し、文字列変更を導入した場合は、新しい翻訳テンプレートファイル(.potファイル)を生成しgettextツールチェーンで翻訳します。そして、翻訳したファイルをYaSTのlocaleディレクトリ(/usr/share/YaST2/locale)にコンパイル済みの.moファイルとしてインストールします。以下に手順を示します。
たとえば、
textdomain設定を<textdomain>firstboot</textdomain>
から、次のように変更します。
<textdomain>firstboot-oem</textdomain>
xgettextを使用して、翻訳可能な文字列を翻訳テンプレートファイル(.potファイル)に抽出します(たとえば、firstboot-oem.potのようになります)。xgettext -L Glade -o firstboot-oem.pot /etc/YaST2/firstboot.xml
翻訳処理を開始します。次に、翻訳済みファイル(
LL_code.poファイル)を、他のプロジェクトの翻訳と同様にパッケージ化し、コンパイル済みのfirstboot-oem.moファイルをインストールします。
追加または変更したYaSTモジュールに翻訳が必要な場合は、そのモジュール内で翻訳を提供します。既存モジュールを変更した場合は、望ましくない副作用を避けるため、そのtextdomainステートメントも必ず変更してください。
YaST開発の詳細については、https://en.opensuse.org/openSUSE:YaST_developmentを参照してください。YaST firstbootの詳細については、http://doc.opensuse.org/projects/YaST/SLES11/tdg/bk09ch01s02.htmlを参照してください。
19.3 マスタインストールの複製 #
利用できる任意のイメージング機能を使って、マスタコンピュータのディスクを複製し、そのイメージをターゲットコンピュータに展開/配布します。イメージングの詳細については、https://doc.suse.com/kiwi/を参照してください。
19.4 インストールの個人設定 #
複製されたディスクイメージがブートされると、firstbootが開始され、19.2.4項 「ワークフローのカスタマイズ」で設計したとおりにインストールが開始されます。firstbootワークフロー設定に含まれているコンポーネントだけが開始されます。他のインストールステップは、すべてスキップされます。エンドユーザは、言語、キーボード、ネットワーク、およびパスワードを各自の要件に応じて設定し、ワークステーションの個人設定を行います。作業が完了すると、firstbootでインストールされたシステムは他のSUSE Linux Enterprise Serverインスタンスと同様に動作します。