rules ファイルは、自動的にインストールを実行したいシステムの各グループ (または単独のシステム) 用のルールを含むテキストファイルです。各ルールは、1 つまたは複数のシステム属性に基づいてシステムのグループを識別し、各グループを 1 つのプロファイルにリンクさせます。このプロファイルは、Solaris ソフトウェアをグループの各システムにインストールする方法を定義するテキストファイルです。
たとえば下記のルールでは、Solaris インストールプログラムが、basic_prof プロファイルにある情報に基づいて、sun4c プラットフォームグループを持つシステムにインストールを実行することを指定します。rules ファイルを使用して、カスタム JumpStart インストールに必要な rules.ok ファイルを作成します。
karch sun4c - basic_prof - |
「プロファイルフロッピーディスクの作成」または 「プロファイルサーバーの作成」の手順にしたがって JumpStart ディレクトリを設定した場合は、JumpStart ディレクトリに rules ファイルのサンプルがあります。rules ファイルのサンプルには、説明といくつかのルール例があります。サンプルの rules ファイルを利用する場合は、使用しないルール例は必ずコメントにしておいてください。
カスタム JumpStart インストール時に、Solaris インストールプログラムは rules.ok ファイル内のルールを、インストールするシステムについて最初のルールから順番に照合します。インストールされるシステムがルール内に定義されているシステム属性のすべてと一致すると、照合が成立します。システムがルールに一致するとすぐに、Solaris インストールプログラムは rules.ok ファイルの読み出しをやめ、一致したルールのプロファイルの定義に従ってシステムのインストールを開始します。
少なくとも 1 つのルールを持っていること
ルールは、少なくともルールキーワード、ルール値、および対応するプロファイルを持つこと。エントリがない場合は、ルールの begin フィールドと finish フィールドにマイナス記号 (-) が必要です。
rules ファイルでは、次のことが許可されています。
空白行
新しい rules ファイルを作成するか、ユーザーが作成した JumpStart ディレクトリにあるサンプルの rules ファイルを編集します。
カスタム JumpStart を使用してインストールするシステムの各グループに対応する rules ファイルに、ルールを追加します。
rules ファイルにルールを追加するときは、次の項目に留意してください。
rules ファイル内のルールは、次の構文になっていなければなりません。
[!]rule_keyword rule_value [&& [!]rule_keyword rule_value]... begin profile finish |
ルールキーワードの前で使用し、否定を示す記号 |
|
オプションの式またはフィールドを示す記号 |
|
前の式が繰り返されることを示す記号 |
|
ホスト名 (hostname)、メモリーサイズ (memsize) などの一般的なシステム属性を記述する定義済みキーワード。ルール値とともに使用し、同じ属性を持つシステムをプロファイルに一致させる。ルールキーワードの一覧は、表 8-2 を参照 |
|
対応するルールキーワードに特定のシステム属性を与える値。ルール値の一覧は、表 8-2 を参照 |
|
ルールキーワードとルール値のペアを同じルールで結合する (論理積をとる) ときに使用する記号。カスタム JumpStart インストール時に、システムがルール内のすべてのペアに一致しなければ、ルールの一致は成立しない |
|
インストールが開始する前に実行できるオプションの Bourne シェルスクリプト名。begin スクリプトがない場合、このフィールドにマイナス記号 (-) を指定する必要がある。begin スクリプトはすべて、JumpStart ディレクトリになければならない。 begin スクリプトの作成方法の詳細は、「begin スクリプトの作成」を参照 |
|
テキストファイル名。システムがルールに一致したとき Solaris ソフトウェアがシステムにどのようにインストールされるかを定義している。プロファイル内の情報は、プロファイルキーワードと、それらに対応するプロファイル値から構成される。すべてのプロファイルは JumpStart ディレクトリになければならない。 注 - プロファイルフィールドについては、別の使用方法もあります。詳細は、「サイト固有のインストールプログラムの使用」と 「begin スクリプトによる動的プロファイルの作成」を参照してください。 |
|
インストール終了後に実行できるオプションの Bourne シェルスクリプト名。finish スクリプトがない場合、このフィールドにマイナス記号 (-) を指定する必要がある。finish スクリプトはすべて、JumpStart ディレクトリになければならない。 finish スクリプトの作成方法の詳細は、「finish スクリプトの作成」を参照 |
rules ファイルを、プロファイルサーバーまたはプロファイルフロッピーディスクの JumpStart ディレクトリに保存します。
rules ファイルの所有者は root で、アクセス権は 644 です。
これで rules ファイルを作成する手順は終わりです。この後は、「プロファイルの作成」へ進んでください。
次に rules ファイル内のいくつかのルール例を示します。各行にルールキーワードとそれに対する有効な値が指定されています。Solaris インストールプログラムは、rules ファイルを上から下へ走査します。Solaris インストールプログラムが、登録されているシステムに一致するルールキーワードとルール値を検出すると、プロファイルフィールドに指定されているプロファイルで指定される Solaris ソフトウェアをインストールします。
# rule keywords and rule values begin script profile finish script # ----------------------------- ------------ -------- ------------- [このルールは、システムのホスト名が eng-1 の場合に一致します。basic_prof プロファイルを使用して、このルールに一致するシステムに Solaris ソフトウェアをインストールします。] hostname eng-1 - basic_prof - [このルールは、システムがサブネット 192.43.34.0 にあり、SPARCstation IPXTM (SUNW,Sun 4_50) でない場合は一致します。net_prof プロファイルを使用して、このルールに一致するシステムに Solaris ソフトウェアをインストールします。] network 192.43.34.0 && !model ¥ 'SUNW,Sun 4_50' - net_prof - [このルールは、システムが SPARCstation LX の場合に一致します。lx_prof プロファイルと complete finish スクリプトを使用して、このルールに一致するシステムに Solaris ソフトウェアをインストールします。また、「rules ファイルに関する注意事項」で説明しているルールラップの例でもあります。] model SUNW,SPARCstation-LX - lx_prof complete [このルールは、システムがサブネット 193.144.2.0 にあり、システムが x86 の場合に一致します。setup begin スクリプト、x86_prof プロファイル、done finish スクリプトを使用して、このルールに一致するシステムに Solaris ソフトウェアをインストールします。] network 193.144.2.0 && karch i86pc setup x86_prof done [このルールは、システムに 16M から 32M バイトのメモリーがあり、そのプロセッサタイプが x86 の場合に一致します。prog_prof プロファイルを使用して、このルールに一致するシステムに Solaris ソフトウェアをインストールします。] memsize 16-32 && arch i386 - prog_prof - [このルールは、上記のどのルールにも一致しないシステムに一致します。generic_prof プロファイルを使用して、このルールに一致するシステムに Solaris ソフトウェアをインストールします。any を使用する場合は、必ず最後のルールで使用してください。] any - - generic_prof - |
表 8-2 で、rules ファイルで使用できるルールキーワードとルール値について説明します。
表 8-2 ルールキーワードとルール値の説明
ルールキーワード |
ルール値 |
説明 |
---|---|---|
マイナス記号 (-) |
常に一致する |
|
processor_type processor_type の有効な値は、SPARC プラットフォームの場合は sparc、x86 プラットフォームの場合は i386 |
システムのプロセッサタイプを照合する。システムのプロセッサタイプは、uname -p コマンドで調べることができる |
|
domain_name |
システムのドメイン名を照合する。ドメイン名でネームサービスが情報を判別する方法を制御する。 システムがインストール済みの場合、domainname コマンドによりシステムのドメイン名を表示できる |
|
disk_name size_range disk_name - cxtydz 形式 (たとえば、c0t3d0) のディスク名または rootdisk。rootdisk を使用する場合、照合するディスクは次の順番で決定される。
size_range - ディスクのサイズ。M バイト単位の範囲 (xx-xx) で指定する必要がある |
システムのディスクを照合する (M バイト単位)。 例: disksize c0t3d0 250-300 この例は、250〜300M バイトの c0t3d0 ディスクを備えるシステムと照合する。 注 - size_range を計算するときは、1M バイトが 1,048,576 バイトであることに注意してください。「535M バイト」ディスクと明記されているディスクでも、ディスク空間が 510M バイトしかない場合があります。535,000,000/1,048,576=510 により、Solaris インストールプログラムは「535M バイト」ディスクを実際には 510M バイトのディスクと見なします。したがって、この「535M バイト」ディスクは 530-550 の size_range には一致しません。 |
|
IP_address |
システムの IP アドレスを照合する |
|
host_name |
システムのホスト名を照合する。 システムがインストール済みの場合、uname -n コマンドによりシステムのホスト名を表示できる |
|
slice version slice - cwtxdysz 形式 (たとえば、c0t3d0s5) のディスクスライス名、または any か rootdisk。any を使用すると、システムに接続されたどのディスクも照合する (カーネルのプローブ順)。rootdisk を使用すると、照合するディスクは次の順番で決定される。
version - Solaris_2.x などのバージョン名、または any か upgrade。any を使用すると、Solaris または SunOS リリースのどれとでも照合する。upgrade を使用すると、アップグレード可能な Solaris 2.1 以上のリリースのどれとでも照合する。 インストールプログラムで Solaris リリースが見つかっても、バージョンが不明な場合は、SystemV をバージョンとして返す |
Solaris ソフトウェアの特定バージョンに対応するルートファイルシステムが存在するディスクを照合する。 例: installed c0t3d0s1 Solaris_2.5 この例では、c0t3d0s1 に Solaris 2.5 のルートファイルシステムを持つシステムを照合している |
|
platform_group 有効な値は、sun4d、sun4c、sun4m、sun4u、i86pc、 prep (各種システムとそのプラットフォームグループの詳細なリストは、付録 C 「プラットフォーム名とグループ」 を参照) |
システムのプラットフォームグループを照合する。 システムがインストール済みの場合は、arch -k コマンドまたは uname -m コマンドにより、システムのプラットフォームグループを表示できる |
|
physical_mem 値は M バイト単位の範囲 (xx-xx) または 1 つの M バイト値で指定する |
システムの物理メモリーサイズを照合する (M バイト単位)。 例: memsize 16-32 この例では、16M 〜 32M バイトの物理メモリーサイズを持つシステムと照合している。 システムがインストール済みの場合は、prtconf コマンド (2 行目) によりシステムの物理メモリーサイズを表示できる |
|
platform_name |
システムのプラットフォーム名を照合する。有効なプラットフォーム名については、付録 C 「プラットフォーム名とグループ」 を参照。 インストール済みのシステムのプラットフォーム名を見つけるには、uname -i コマンドか prtconf コマンド (5 行目) の出力を使用する。 注 - platform_name にスペースが含まれているときには、下線 (_) に置き換える必要があります。 例: SUNW,Sun_4_50 |
|
network_num |
システムのネットワーク番号を照合する。これは Solaris インストールプログラムが、システムの IP アドレスとサブネットマスクの論理積をとって判別する。 例: network 193.144.2.0 この例では、IP アドレスが 193.144.2.8 のシステムを照合する (サブネットマスクが 255.255.255.0 の場合) |
|
Solaris_2.x |
システムにすでにインストールされている Solaris のバージョンを照合する。 例: osname Solaris_2.5 この例では、Solaris 2.5 がすでにインストールされているシステムを照合している |
|
size_range 値は M バイト単位の範囲 (xx-xx) で指定する必要がある |
システムのディスク空間の全体量 (M バイト単位) を照合する。ディスク空間の全体量には、システムに接続されている使用可能なディスクがすべて含まれる。 例: totaldisk 300-500 この例では、全体として 300M 〜 500M バイトのディスク空間を持つシステムと照合している。 注 - size_range を計算するときは、1M バイトが 1,048,576 バイトであることに注意してください。「535M バイト」ディスクと明記されているディスクでも、ディスク空間が 510M バイトしかない場合があります。535,000,000/1,048,576=510 により、Solaris インストールプログラムは「535M バイト」ディスクを実際には 510M バイトのディスクと見なします。したがって、この「535M バイト」ディスクは 530-550 の size_range には一致しません。 |