Solaris 8 のインストール (上級編)

rules ファイルの作成

rules ファイルとは

rules ファイルは、自動的に Solaris オペレーティング環境をインストールを実行したいシステムの各グループ (または単独のシステム) 用のルールを含むテキストファイルです。各ルールは、1 つまたは複数のシステム属性に基づいてシステムのグループを識別し、各グループを 1 つのプロファイルにリンクさせます。このプロファイルは、Solaris ソフトウェアをグループの各システムにインストールする方法を定義するテキストファイルです。

karch i86pc - basic_prof -

たとえば上記のルールでは、Solaris インストールプログラムが、basic_prof プロファイルにある情報に基づいて、i86pc プラットフォームグループを持つシステムにインストールを実行することを指定します。rules ファイルを使用して、カスタム JumpStart インストールに必要な rules.ok ファイルを作成します。


注 -

「プロファイルフロッピーディスクの作成」 または 「プロファイルサーバーの作成」 の手順にしたがって JumpStart ディレクトリを設定した場合は、JumpStart ディレクトリに rules ファイルのサンプルがあります。rules ファイルのサンプルには、説明といくつかのルール例があります。サンプルの rules ファイルを利用する場合は、使用しないルール例は必ずコメントにしておいてください。


rules ファイルの構文

rules ファイルは、次の条件を満たす必要があります。

rules ファイルには、次のものを含めることができます。

ルールの構文要素

ルールには、少なくとも次のものが含まれている必要があります。

rules ファイル内のルールは、次の構文になっている必要があります。

[[!]]rule_keyword rule_value [[&& [[!]]rule_keyword rule_value]] ... begin  profile  finish
表 18-2 ルールの構文要素

要素 

説明 

!

ルールキーワードの前で使用し、否定を示す記号 

rule_keyword

ホスト名 (hostname)、メモリーサイズ (memsize) などの一般的なシステム属性を記述する定義済みキーワード。ルール値とともに使用し、同じ属性を持つシステムをプロファイルに一致させる。ルールキーワードの一覧は、表 18-3 を参照

rule_value

対応するルールキーワードに特定のシステム属性を与える値。ルール値の一覧は、表 18-3 を参照

&&

ルールキーワードとルール値のペアを同じルールで結合する (論理積をとる) ときに使用する記号。カスタム JumpStart インストール時に、システムがルール内のすべてのペアに一致しなければ、ルールの一致は成立しない 

begin

インストールが開始する前に実行できるオプションの Bourne シェルスクリプト名。begin スクリプトがない場合、このフィールドにマイナス記号 (-) を指定する必要がある。begin スクリプトはすべて、JumpStart ディレクトリになければならない。 

begin スクリプトの作成方法の詳細は、「begin スクリプトの作成」を参照

profile

テキストファイル名。システムがルールに一致したとき Solaris ソフトウェアがシステムにどのようにインストールされるかを定義している。プロファイル内の情報は、プロファイルキーワードと、それらに対応するプロファイル値から構成される。すべてのプロファイルは JumpStart ディレクトリになければならない。 


注 -

プロファイルフィールドについては、別の使用方法もあります。詳細は、「サイト固有のインストールプログラムの使用」「begin スクリプトによる動的プロファイルの作成」を参照してください。


finish

インストール終了後に実行できるオプションの Bourne シェルスクリプト名。finish スクリプトがない場合、このフィールドにマイナス記号 (-) を指定する必要がある。finish スクリプトはすべて、JumpStart ディレクトリになければならない。 

finish スクリプトの作成方法の詳細は、「finish スクリプトの作成」を参照

ルールキーワードと値の説明

表 18-3 で、rules ファイルで使用できるルールキーワードとルール値について説明します。

表 18-3 ルールキーワードとルール値の説明

ルールキーワード 

ルール値 

説明 

any

マイナス記号 (-)

常に一致する 

arch

processor_type

processor_type の有効な値

  • SPARC: sparc

  • IA: i386

システムのプロセッサタイプを照合する。 

システムのプロセッサタイプは、uname -p コマンドで調べることができる

disksize

actual_disk_name size_range

actual_disk_name - cxtydz 形式 (たとえば、c0t3d0c0d0) のディスク名または rootdiskrootdisk を使用する場合、照合するディスクは次の順番で決定される。

  • SPARC: インストール済みのブートイメージを持つディスク (出荷時に JumpStart がインストールされている新しい SPARC 搭載システム)

  • c0t3d0s0 ディスク (存在する場合)

  • 最初に利用可能なディスク (カーネルのプローブ順で検索される)

size_range - ディスクのサイズ。M バイト単位の範囲 (x-x) で指定する必要がある

システムのディスクの名前とサイズを照合する (M バイト単位)。 

例:

disksize c0t3d0 250-300

この例は、250〜300M バイトの c0t3d0 ディスクを備えるシステムと照合する。

例:

disksize rootdisk 750-1000

この例では、まず初めに事前にインストールされたブートイメージを含むシステムディスク、次に c0t3d0s0 ディスク、最後に 750M バイトから 1G バイトの情報を格納できるディスクを探します。


注 -

size_range を計算するときは、1M バイトが 1,048,576 バイトであることに注意してください。「535M バイト」ディスクと明記されているディスクでも、ディスク空間が 510M バイトしかない場合があります。535,000,000/1,048,576=510 により、JumpStart は「535M バイト」ディスクを実際には 510M バイトのディスクと見なします。したがって、この「535M バイト」ディスクは 530-550 の size_range には一致しません。


domainname

actual_domain_name

システムのドメイン名を照合する。ドメイン名でネームサービスが情報を判別する方法を制御する。 

システムがインストール済みの場合、domainname コマンドによりシステムのドメイン名を表示できる

hostaddress

actual_IP_address

システムの IP アドレスを照合する 

hostname

actual_host_name

システムのホスト名を照合する。 

システムがインストール済みの場合、uname -n コマンドによりシステムのホスト名を表示できる

installed

slice version

slice - cwtxdysz 形式 (たとえば、c0t3d0s5) のディスクスライス名、または anyrootdiskany を使用すると、システムに接続されたどのディスクも照合する (カーネルのプローブ順)。rootdisk を使用すると、照合するディスクは次の順番で決定される。

  • SPARC: インストール済みのブートイメージを持つディスク (出荷時に JumpStart がインストールされている新しい SPARC 搭載システム)

  • c0t3d0s0 ディスク (存在する場合)

  • 最初に利用可能なディスク (カーネルのプローブ順で検索される)

version - Solaris_2.x などのバージョン名、または anyupgradeany を使用すると、Solaris または SunOS リリースのどれとでも照合する。upgrade を使用すると、アップグレード可能な Solaris 2.1 以上のリリースのどれとでも照合する。

JumpStart で Solaris リリースが見つかっても、バージョンが不明な場合は、SystemV をバージョンとして返す

Solaris ソフトウェアの特定バージョンに対応するルートファイルシステムが存在するディスクを照合する。 

例:

installed c0t3d0s1 Solaris_8

この例では、c0t3d0s1 に Solaris 8 のルートファイルシステムを持つシステムを照合している

karch

actual_platform_group

有効な値は、sun4dsun4msun4ui86pcprep (各種システムとそのプラットフォームグループの詳細なリストは、第 31 章「プラットフォーム名とグループ」 を参照)

システムのプラットフォームグループを照合する。 

システムがインストール済みの場合は、arch -k コマンドまたは uname -m コマンドにより、システムのプラットフォームグループを表示できる

memsize

physical_mem

値は M バイト単位の範囲 (<x-x) または 1 つの M バイト値で指定する

システムの物理メモリーサイズを照合する (M バイト単位)。 

例:

memsize 16-32

この例では、16M〜32M バイトの物理メモリーサイズを持つシステムと照合している。 

システムがインストール済みの場合は、prtconf コマンド (2 行目) によりシステムの物理メモリーサイズを表示できる

model

actual_platform_name

システムのプラットフォーム名を照合する。有効なプラットフォーム名については、第 31 章「プラットフォーム名とグループ」 を参照。

インストール済みのシステムのプラットフォーム名を見つけるには、uname -i コマンドか prtconf コマンド (5 行目) の出力を使用する。


注 -

actual_platform_name にスペースが含まれている場合は、スペースを下線 (_) で置き換える必要があります (例: SUNW,Sun4_50)。


network

network_num

システムのネットワーク番号を照合する。これは JumpStart が、システムの IP アドレスとサブネットマスクの論理積をとって判別する。 

例:

network 193.144.2.8

この例では、IP アドレスが 193.144.2.8 のシステムを照合する (サブネットマスクが 255.255.255.0 の場合) 

osname

Solaris_2.x

システムにすでにインストールされている Solaris のバージョンを照合する。 

例:

osname Solaris_7

この例では、Solaris 7 がすでにインストールされているシステムを照合している 

probe

probe_keyword

有効なプローブまたはカスタムプローブキーワード 

例:

probe disks

この例では、システムのディスクのサイズがカーネル検索順序 (たとえば、SPARC ベースシステムでは、c0t3d0s0c0t3d0s1c0t4d0s0) で返され、環境変数 SI_DISKLISTSI_DISKSIZESSI_NUMDISKS、 および SI_TOTALDISK が設定される。


注 -

probe キーワードは、属性を照合せず、プロファイルを実行しないという特徴があります。このキーワードは、値を返すだけです。したがって、probe ルールキーワードで、begin スクリプト、プロファイル、および finish スクリプトは指定できません。


プローブキーワードについては、第 20 章「カスタムルールおよびプローブキーワードの作成方法」を参照してください。

 

totaldisk

size_range

値は M バイト単位の範囲 (x-x) で指定する必要がある

システムのディスク空間の全体量 (M バイト単位) を照合する。ディスク空間の全体量には、システムに接続されている使用可能なディスクがすべて含まれる。 

例:

totaldisk 300-500

この例では、全体として 300M〜500M バイトのディスク空間を持つシステムと照合している。 


注 -

size_range を計算するときは、1M バイトが 1,048,576 バイトであることに注意してください。「535M バイト」ディスクと明記されているディスクでも、ディスク空間が 510M バイトしかない場合があります。535,000,000/1,048,576=510 により、JumpStart は「535M バイト」ディスクを実際には 510M バイトのディスクと見なします。したがって、この「535M バイト」ディスクは 530-550 の size_range には一致しません。


サンプル rules ファイルの内容

次のサンプルファイルは、rules ファイル内のルールをいくつか示しています。各行には、ルールキーワードとそのキーワードに有効な値があります。JumpStart は、rules ファイルを上から下へ走査します。


注 -

左の列に示された数字は挿入しないでください。これらの数字は、例の後に表示される脚注です。


JumpStart は、既知のシステムとルールキーワードおよび値を照合する場合、プロファイルフィールドにリストされたプロファイルによって指定された Solaris ソフトウェアをインストールします。

 # rule keywords and rule values       begin script       profile       finish script
 # -----------------------------       ------------       --------      -------------
   hostname eng-1                      -                  basic_prof    -  [このルールは、システムのホスト名が eng-1 の場合に一致します。basic_prof プロファイルは、このルールに一致するシステムに Solaris ソフトウェアをインストールするために使用されます。] 
   network 192.43.34.0 && !model ¥
   'SUNW,SPARCstation-20'              -                  net_prof      -  [このルールは、システムがサブネット 192.43.34.0 にあって、SPARCstationTM 20 (SUNW, SPARCstation-20) ではない場合に一致します。net_prof プロファイルは、このルールに一致するシステムに Solaris ソフトウェアをインストールするために使用されます。このルールは、rules ファイル構文の複数行ルールの例にもなっています。] 
   model SUNW,SPARCstation-LX          -                  lx_prof       complete  [このルールは、システムが SPARCstation LX である場合に一致します。lx_prof プロファイルと complete 終了スクリプトは、このルールに一致するシステムに Solaris ソフトウェアをインストールするために使用されます。] 
   network 193.144.2.0 && karch i86pc  setup              IA_prof       done  [このルールは、システムが 193.144.2.0 にあって、IA ベースのシステムである場合に一致します。setup 開始スクリプト、IA_prof プロファイル、および done 終了スクリプトは、このルールに一致するシステムに Solaris ソフトウェアをインストールするために使用されます。] 
   memsize 16-32 && arch i386          -                  prog_prof     -  [このルールは、システムに 16 〜 32M バイトのメモリーがあって、IA 搭載システムである場合に一致します。prog_profプロファイルは、このルールに一致するシステムに Solaris ソフトウェアをインストールするために使用されます。] 
   any  -                              -                  generic_prof  -  [このルールは、上記のルールに一致しなかったすべてのシステムに一致します。generic_prof プロファイルは、このルールに一致するシステムに Solaris ソフトウェアをインストールするために使用されます。このプロファイルを使用する場合は、any が常に rules ファイルの最後のルールである必要があります。] 

rules ファイルを作成する方法

  1. テキストエディタを使用して、作成した JumpStart ディレクトリで、テキストファイル rules を作成するか、rules サンプルファイルを開きます。

  2. カスタム JumpStart を使用した Solaris のインストール先のシステムグループごとに 1 つのルールを rules ファイルに追加します。

  3. rules ファイルを JumpStart ディレクトリに保存します。

    rootrules ファイルを所有していて、そのアクセス権が 644 に設定されていることを確認します。