6.8. 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 に登録される前に、Discovery カーネルの起動時に POSIX 順序で実行されるスクリプトが含まれています。 -
bin
ディレクトリーは、$PATH
変数に追加され、このディレクトリーにバイナリーファイルを配置して、autostart
スクリプトで使用します。 -
facts
ディレクトリーはFACTERLIB
変数に追加され、カスタムファクトを設定して Satellite に送信できるようになります。 -
/bin
のバイナリーファイルが正しく実行できるように、lib
ディレクトリーはLD_LIBRARY_PATH
変数に、lib/ruby
はRUBYLIB
変数に追加されます。
-
ディレクトリー構造の作成後に、以下のコマンドで
.zip
アーカイブにパッケージ化します。# zip -r my_extension.zip .
使用する必要がある拡張機能を Discovery カーネルに通知します。Discovery イメージを含む zip ファイルを TFTP サーバーに配置し、TFTP ルートの相対パスにある
fdi.zips
パラメーターを使用して Discovery PXE ブートをカスタマイズします。たとえば、
$TFTP/zip1.zip
と$TFTP/boot/zip2.zip
の 2 つのアーカイブがある場合は、次の構文を使用します。fdi.zips=zip1.zip,boot/zip2.zip
詳細は、「Discovery PXE ブートのカスタマイズ」 を参照してください。
既存の環境変数 (PATH
、LD_LIBRARY_PATH
、RUBYLIB
および FACTERLIB
) に、新規ディレクティブとオプションを追加できます。スクリプトで明示的にパスを指定する場合には、.zip
ファイルのコンテンツが、イメージの /opt/extension
ディレクトリーにデプロイメントされます。
複数の .zip
ファイルを作成できますが、Discovery イメージと同じ場所にデプロイメントされる点に注意してください。後から抽出された .zip
ファイル内のファイルに同じファイル名が含まれている場合、以前のバージョンが上書きされます。