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