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

rules ファイルの作成

rules ファイルとは

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 ファイルの読み出しをやめ、一致したルールのプロファイルの定義に従ってシステムのインストールを開始します。

rules ファイルに関する注意事項

rules ファイルの条件は、次のとおりです。

rules ファイルでは、次のことが許可されています。

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

  1. ファイルを開いて、rules というファイル名をつけます。

    新しい rules ファイルを作成するか、ユーザーが作成した JumpStart ディレクトリにあるサンプルの rules ファイルを編集します。

  2. カスタム JumpStart を使用してインストールするシステムの各グループに対応する rules ファイルに、ルールを追加します。

    rules ファイルにルールを追加するときは、次の項目に留意してください。

    rules ファイル内のルールは、次の構文になっていなければなりません。

    [!]rule_keyword rule_value [&& [!]rule_keyword rule_value]... begin  profile  finish
    

    !

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

    [ ]

    オプションの式またはフィールドを示す記号 

    ...

    前の式が繰り返されることを示す記号 

    rule_keyword

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

    rule_value

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

    &&

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

    begin

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

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

    profile

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


    注 -

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


    finish

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

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

  3. 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 ルールキーワードとルール値の説明

ルールキーワード 

ルール値 

説明 

any

マイナス記号 (-)

常に一致する 

arch

processor_type

processor_type の有効な値は、SPARC プラットフォームの場合は sparc、x86 プラットフォームの場合は i386

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

domainname

domain_name

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

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

disksize

disk_name size_range

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

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

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

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

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 には一致しません。


hostaddress

IP_address

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

hostname

host_name

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

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

installed

slice version

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

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

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

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

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

インストールプログラムで Solaris リリースが見つかっても、バージョンが不明な場合は、SystemV をバージョンとして返す

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

例: installed c0t3d0s1 Solaris_2.5

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

karch

platform_group

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

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

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

memsize

physical_mem

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

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

例: memsize 16-32

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

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

model

platform_name

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

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


注 -

platform_name にスペースが含まれているときには、下線 (_) に置き換える必要があります。

例: SUNW,Sun_4_50


network

network_num

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

例: network 193.144.2.0

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

osname

Solaris_2.x

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

例: osname Solaris_2.5

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

totaldisk

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 には一致しません。