7.9. 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
ファイルから後でデプロイメントされたファイルは、同じファイル名を使用している場合には、以前のバージョンを上書きします。