Solaris 10 5/08 インストールガイド (ネットワークインストール)

dhtadm を使用してオプションとマクロを作成するスクリプトの作成

例 3–1 の例を応用して Korn シェルスクリプトを作成し、表 3–3 および表 3–4 に一覧表示されているすべてのオプションと、いくつかの便利なマクロを作成できます。引用符に囲まれたすべての IP アドレスと値を、実際のネットワークの IP アドレス、サーバー名、およびパスに変更してください。また、Vendor= キーを編集して、使用するクライアントのクラスを示す必要もあります。add_install_client -d の情報を使って、スクリプトを変更するために必要なデータを取得します。


例 3–1 ネットワークインストールをサポートするスクリプトの例

# Solaris ベンダー固有のオプションを読み込みます。
# Sun-Blade-1000、Sun-Fire-880、および i86 プラットフォームのサポートを開始します。
# SUNW.i86pc オプションは Solaris 10 3/05 リリースにのみ適用されます。
# -A を-M に変更すると、値を追加するのではなく、現在の値を上書きします。
dhtadm -A -s SrootOpt -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,1,ASCII,1,0'
dhtadm -A -s SrootIP4 -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,2,IP,1,1'
dhtadm -A -s SrootNM -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,3,ASCII,1,0'
dhtadm -A -s SrootPTH -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,4,ASCII,1,0'
dhtadm -A -s SswapIP4 -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,5,IP,1,0'
dhtadm -A -s SswapPTH -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,6,ASCII,1,0'
dhtadm -A -s SbootFIL -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,7,ASCII,1,0'
dhtadm -A -s Stz -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,8,ASCII,1,0'
dhtadm -A -s SbootRS -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,9,NUMBER,2,1'
dhtadm -A -s SinstIP4 -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,10,IP,1,1'
dhtadm -A -s SinstNM -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,11,ASCII,1,0'
dhtadm -A -s SinstPTH -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,12,ASCII,1,0'
dhtadm -A -s SsysidCF -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,13,ASCII,1,0'
dhtadm -A -s SjumpsCF -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,14,ASCII,1,0'
dhtadm -A -s Sterm -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,15,ASCII,1,0'
dhtadm -A -s SbootURI -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,16,ASCII,1,0'
dhtadm -A -s SHTTPproxy -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,17,ASCII,1,0'
# 役立つマクロ定義をいくつか読み込みます。
# Solaris 汎用のオプションをすべて、この Solaris というマクロに定義します。
dhtadm -A -m Solaris -d \
':SrootIP4=10.21.0.2:SrootNM="blue2":SinstIP4=10.21.0.2:SinstNM="red5":'
# sparc プラットフォーム固有のオプションをすべて、この sparc というマクロに定義します。
dhtadm -A -m sparc -d \
':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":'
# sun4u アーキテクチャー固有のオプションをすべて、この sun4u というマクロに定義します。
#  (Solaris マクロと sparc マクロも含む)
dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:'
# Solaris on IA32 プラットフォーム固有のパラメータを、この i86pc というマクロに定義します。
# このマクロは Solaris 10 3/05 リリースにのみ適用されます。
dhtadm -A -m i86pc -d \
':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\
:SbootFIL="/platform/i86pc/kernel/unix":'
# Solaris on IA32 マシンは、"SUNW.i86pc" クラスによって識別されます。
# このクラスのメンバーとして識別されるクライアントはすべて、
# SUNW.i86pc というマクロ内のパラメータを認識できます。このマクロには、i86pc マクロが含まれています。
# このクラスは Solaris 10 3/05 リリースにのみ適用されます。
dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:'
# Sun-Blade-1000 プラットフォームは、
# "SUNW.Sun-Blade-1000" クラスの一部として識別されます。
# このクラスのメンバーとして識別されるクライアントはすべて、
# これらのパラメータを認識できます。
dhtadm -A -m SUNW.Sun-Blade-1000 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\
Include=sun4u:'
# Sun-Fire-880 プラットフォームは、"SUNW.Sun-Fire-880" クラスの一部として識別されます。
# このクラスのメンバーとして識別されるクライアントはすべて、これらのパラメータを認識できます。
dhtadm -A -m SUNW.Sun-Fire-880 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:'
# DHCP サーバーで管理されるトポロジーについて、各ネットワークマクロにブートサーバー IP を追加します。
# ブートサーバーは DHCP サーバーと同じマシンで実行されています。
dhtadm -M -m 10.20.64.64 -e BootSrvA=10.21.0.2
dhtadm -M -m 10.20.64.0 -e BootSrvA=10.21.0.2
dhtadm -M -m 10.20.64.128 -e BootSrvA=10.21.0.2
dhtadm -M -m 10.21.0.0 -e BootSrvA=10.21.0.2
dhtadm -M -m 10.22.0.0	-e BootSrvA=10.21.0.2
# ホスト名がクライアントに返されるようにします。
dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_
# ブートサーバーからブートする PXE クライアント用のマクロを作成します。
# このマクロは Solaris 10 3/05 リリースに適用されます。
dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \
:BootFile=npb.SUNW.i86pc:BootSrvA=10.21.0.2:
# ブートサーバーからブートする PXE クライアント用のマクロを作成します。
# このマクロは Solaris 10 2/06 リリースに適用されます。
dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \
:BootFile=i86pc:BootSrvA=10.21.0.2:
# PXE を使用してネットワークからインストールするように
# Ethernet アドレス 00:07:e9:04:4a:bf の x86 ベースのクライアント用のマクロを作成します。
dhtadm -A -m 010007E9044ABF -d :BootFile=010007E9044ABF:BootSrvA=10.21.0.2:
# この MAC アドレスを持つクライアントはディスクレスクライアントです。
# インストール用のネットワーク範囲設定ルート設定を、クライアントのルートディレクトリで置き換えます。
dhtadm -A -m 0800201AC25E -d \
':SrootIP4=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.23.128.12":'

スーパーユーザーになり、dhtadm をバッチモードで実行します。オプションとマクロを dhcptab に追加するためのスクリプトの名前を指定します。たとえば、スクリプトの名前が netinstalloptions の場合、次のコマンドを入力します。


# dhtadm -B netinstalloptions

Vendor= 文字列に指定されているベンダークライアントクラスを持つクライアントが、DHCP を使ってネットワーク経由でインストールできるようになります。

dhtadm コマンドの使用方法の詳細については、dhtadm(1M) のマニュアルページを参照してください。dhcptab ファイルの詳細は、dhcptab(4) のマニュアルページを参照してください。