11.4. Discovery イメージの拡張
カスタムファクト、ソフトウェア、またはデバイスドライバーを使用して Satellite Discovery イメージを拡張することができます。イメージで使用できるように追加コードが含まれる圧縮されたアーカイブファイルを提供することもできます。
最初に、以下のディレクトリー構造を作成します。
ここでは、以下のようになります。
autostart.dディレクトリーには、ホストが Satellite に登録される前の起動時に POSIX の順にイメージにより実行されるスクリプトが含まれています。binディレクトリーは、$PATH 変数に追加され、ここにバイナリーファイルを配置して、autostart スクリプトで使用できます。factsディレクトリーは FACTERLIB 変数に追加され、カスタムファクトを設定して Satellite に送信できるようになります。/binのバイナリーファイルが正しく実行できるように、libディレクトリーは LD_LIBRARY_PATH 変数に、lib/rubyは RUBYLIB 変数に追加されます。
新規ディレクティブおよびオプションが既存の環境変数(PATH、LD_LIBRARY_PATH、RUBYLIB および FACTERLIB)に追加されます。スクリプトで明示的に何かへのパスを指定する必要がある場合、zip コンテンツはイメージの
/opt/extension ディレクトリーに展開されます。
上記のディレクトリー構造を作成した後に、これを以下のコマンドで zip アーカイブにパッケージ化します。
zip -r my_extension.zip .
zip -r my_extension.zip .
複数の zip ファイルを作成できますが、これらは Discovery イメージの同じ場所に抽出されるため、ファイル名が同じ場合に後の zip のファイルが先のファイルを上書きします。
Discovery イメージで使用される拡張子が認識されるように、検出イメージと共に zip ファイルを TFTP サーバーに配置してから、PXELinux テンプレートの APPEND 行を、パスが TFTP ルートに相対する
fdi.zips オプションで更新します。たとえば、$TFTP/zip1.zip および $TFTP/boot/zip2.zip に 2 つのアーカイブがある場合は、以下の構文を使用します。
fdi.zips=zip1.zip,boot/zip2.zip
fdi.zips=zip1.zip,boot/zip2.zip
PXE テンプレートの更新に関する詳細は、「PXE 起動の設定」 を参照してください。