Red Hat Training

A Red Hat training course is available for Red Hat Satellite

1.3.4. 設定ファイルへのマクロの組み込み

従来のファイル管理では、ファイルの差異がわずかであってもファイルの種類が数百または数千に上る場合に、ぞれぞれのファイルを別々にアップロードし、配信する必要がありました。Red Hat Satellite では、Provisioning のエンタイトルメントが付与されたシステムを対象に管理する設定ファイル内へのマクロや変数の組み込みを許可することによってこれに対応します。カスタムシステム情報の変数のほかに、以下の標準的なマクロがサポートされています。
  • rhn.system.sid
  • rhn.system.profile_name
  • rhn.system.description
  • rhn.system.hostname
  • rhn.system.ip_address
  • rhn.system.custom_info(key_name)
  • rhn.system.net_interface.ip_address(eth_device)
  • rhn.system.net_interface.netmask(eth_device)
  • rhn.system.net_interface.broadcast(eth_device)
  • rhn.system.net_interface.hardware_address(eth_device)
  • rhn.system.net_interface.driver_module(eth_device)
この機能を使用するには、設定チャンネルの詳細 (Configuration Channel Details) ページから、設定ファイルのアップロードまたは作成を行います。次に、その 設定チャンネルの詳細 (Configuration Channel Details) ページを開いて、選択したサポート対象のマクロを組み込みます。変数を相殺するために使用したデリミタが、マクロ開始デリミタ (Macro Start Delimiter)マクロ終了デリミタ (Macro End Delimiter) フィールドで設定されたデリミタと一致しており、ファイル内の他の文字とは競合しないことを確認してください。デリミタの長さは 2 文字であり、パーセント (%) 記号を使用しないことをお勧めします。
例のように、IP アドレスとホスト名以外に違いがないサーバーすべてに適用できるファイルを 1 つ持つことができます。各サーバーごとに別々の設定ファイルを管理する代わりに、server.conf などのような IP アドレスとホスト名のマクロを含む次のような単一ファイルを作成することができます。
hostname={| rhn.system.hostname |}
ip_address={| rhn.system.net_interface.ip_address(eth0) |}
ファイルを個別システムに配信する際に、Red Hat Network Web サイトのスケジュールされた動作であるか、または Red Hat Network Configuration Client のコマンドライン (rhncfg-client) によるかにかかわらず、変数は、Satellite のシステムプロファイルに記録されている、システムのホスト名と IP アドレスに置き換えられます。例えば、上記の設定ファイルでは、配備されたバージョンは以下のようになります。
hostname=test.example.domain.com
ip_address=177.18.54.7
カスタムのシステム情報をキャプチャーするには、キーラベルをカスタム情報マクロに挿入します (rhn.system.custom_info)。例えば、「asset」というラベル名のキーを作成した場合、これを設定ファイル内のカスタム情報マクロに追加して、それを含むシステムではその値が置換されるようにすることができます。
asset={@ rhn.system.custom_info(asset) @}
そのキーの値が含まれているシステムに対してこのファイルを配備すると、マクロは変換されて次のような文字列になります。
asset=Example#456
デフォルト値を含める場合は、例えばエラーを防ぐためにデフォルト値が必要な場合などは、カスタム情報マクロにそれを追加することができます。次のようになります。
asset={@ rhn.system.custom_info(asset) = 'Asset #' @}
このデフォルトは、これを含むシステムならいずれでもその値で上書きされます。
Red Hat Network Configuration Manager (rhncfg-manager) はシステム不問のツールであるため、ファイルを変換したり、変更したりしません。rhncfg-manager はシステム設定に依存しません。

注記

この機能は、マクロをテキストファイルにのみ挿入します。バイナリファイルの場合は挿入できません。