8.6. Cobbler テンプレート


RHN Satellite の Web インターフェース内には、 キックスタートのディストリビューションとプロファイルで使用する変数を作成する機能があります。 例えば、 キックスタートプロファイルの変数の作成については 「キックスタートの詳細 ⇒ 変数」 を参照してください。
キックスタートファイルでの テンプレート作成 に対応するための Satellite 内のインフラストラクチャ変更の一部となるのがキックスタートの変数です。 キックスタートファイルのコンテキスト内では、 テンプレートとは特定のキックスタートを作成するのではなく実際のキックスタートファイルをビルドするため使用される詳細を保持するファイルです。
これらのテンプレートはプロファイルやシステム自体の変数および該当する値を持つ各種のプロファイルとシステムで共有されます。 これらの変数がテンプレートを修正して、 テンプレートエンジン と呼ばれるソフトウェアがそのテンプレートと変数データを使用に適したキックスタートファイルに構文解析します。 Cobbler は Cheetah と呼ばれる高度なテンプレートエンジンを使用し、 テンプレート、 変数、 コードのサポートを提供します。
テンプレートを使用する利点は以下のようになります。
  • 各状況にあわせて個別のキックスタートを手作業で作成したり重複した作業を行ったりすることなく、 大量のプロファイルやシステムの作成と管理を行えるようにする強固な機能
  • テンプレートは複雑性を増してループや条件、 他の拡張機能、 構文などを伴う場合がある一方、 こうした複雑性を伴わせることなく単純にキックスタートファイルの作成に使用することもできます。

8.6.1. テンプレートを使用する

キックスタートテンプレートには、 PXE イメージのファイル名、 サブネットアドレス、 /etc/sysconfig/network-scripts/ などの共通パスなど特定の共通項目に対して静的な値を持たせることができます。 ただし、 テンプレートが標準のキックスタートファイルと異なる部分はその変数の使用です。
例えば、 標準のキックスタートファイルは以下のようなネットワーク通過経路になります。
network --device=eth0 --bootproto=static --ip=192.168.100.24 --netmask=255.255.255.0 --gateway=192.168.100.1 --nameserver=192.168.100.2
Copy to Clipboard Toggle word wrap
しかし、 キックスタートテンプレートファイルでは、 ネットワーク通過経路は以下のようになる可能性があります。
network --device=$net_dev --bootproto=static --ip=$ip_addr --netmask=255.255.255.0 --gateway=$my_gateway --nameserver=$my_nameserver
Copy to Clipboard Toggle word wrap
これらの変数はキックスタートプロファイルの変数またはシステム詳細の変数で設定される値で置き換えられます。 プロファイルとシステム詳細の両方で同じ変数が定義されている場合はシステムの変数が優先されます。
キックスタートのテンプレートに関する詳細は、 次の URL にある Cobbler プロジェクトページを参照してください。

8.6.2. キックスタートの一部

キックスタートの全テンプレートとプロファイルで同じになる共通の設定がある場合は、 Cobbler の 一部の 機能を使ってコードの再使用という利点を活用することができます。
キックスタートの一部とはキックスタートコードのセクションであり、 Cobbler によって構文解析される $SNIPPET() 関数で呼び出し、 その関数をコードの一部の内容に置き換えることができます。
例えば、 次のように全サーバーに対して共通となるハードドライブのパーティション設定があるとします。
clearpart --all
part /boot --fstype ext3 --size=150 --asprimary
part / --fstype ext3 --size=40000 --asprimary
part swap --recommended

part pv.00 --size=1 --grow

volgroup vg00 pv.00
logvol /var --name=var vgname=vg00 --fstype ext3 --size=5000
Copy to Clipboard Toggle word wrap
この部分を利用して my_partition などのファイルに保存し、 Cobber がアクセスできるようこのファイルを /var/lib/cobbler/snippets/ に配置します。
次に、 キックスタートテンプレート内の $SNIPPET() 関数でこの部分を利用することができます。 たとえば、
$SNIPPET('my_partition')
Copy to Clipboard Toggle word wrap
この関数を呼び出した場所では常に、 Cheetah 構文解析ツールによってこの関数が my_partition ファイル内に含まれているコードの一部に置き換えられます。
キックスタートの部分的なコードに関する詳細については以下の URL にある Cobbler プロジェクトを参照してください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat