Solaris 9 12/03 Installationshandbuch

Schreiben von Skripten zum Erzeugen von Optionen und Makros anhand von dhtadm

Nach Beispiel 7–1 lässt sich ein Korn-Shell-Skript schreiben, das alle in Tabelle 7–4 enthaltenen Optionen und einige hilfreiche Makros erzeugt. Dabei müssen Sie alle in Anführungszeichen stehenden IP-Adressen und Werte in die für Ihr Netzwerk geltenden IP-Adressen, Servernamen und Pfade abändern. Außerdem müssen Sie mit dem Schlüssel Vendor= die entsprechende Client-Klasse angeben. Aus der Meldung von add_install_client -d ersehen Sie die zur Anpassung des Skripts erforderlichen Informationen.


Beispiel 7–1 Beispielskript zur Unterstützung der Netzwerkinstallation

# Laden Sie die herstellerspezifischen Solaris-Optionen. Wir beginnen mit 
# der Unterstützung für die Plattformen Sun-Blade-1000, Sun-Fire-880 und i86. 
# Durch Abändern von -A in -M würden die aktuellen Werte nicht
# hinzugefügt, sondern ersetzt werden.
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'
# Laden Sie nützliche Makrodefinitionen.
# Definieren Sie alle generischen Solaris-Optionen unter diesem Makro namens Solaris.
dhtadm -A -m Solaris -d \
':SrootIP4=10.21.0.2:SrootNM="blue2":SinstIP4=10.21.0.2:SinstNM="red5":'
# Definieren Sie alle Sparc-spezifischen Optionen unter diesem Makro namens sparc.
dhtadm -A -m sparc -d \
':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":'
# Definieren Sie alle sun4u-spezifischen Optionen unter diesem Makro namens sun4u. 
#  (Umfasst Solaris- und Sparc-Makros.)
dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:'
# Parameter für Solaris auf der IA32-Plattform enthält dieses Makro namens i86pc.
dhtadm -A -m i86pc -d \
':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\
:SbootFIL="/platform/i86pc/kernel/unix":'
# Solaris-auf-IA32-Systeme werden durch die Klasse "SUNW.i86pc" bezeichnet. Alle
# Clients dieser Klasse verwenden diese Parameter
# im Makro namens SUNW.i86pc, das auch das i86pc-Makro umfasst.
dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:'
# Sun-Blade-1000-Plattformen sind Mitglieder der Klasse 
# "SUNW.Sun-Blade-1000".
# Alle Clients dieser Klasse  verwenden diese Parameter.
dhtadm -A -m SUNW.Sun-Blade-1000 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\
Include=sun4u:'
# Sun-Fire-880-Plattformen sind Mitglieder der Klase "SUNW.Sun-Fire-880".
# Alle Clients dieser Klasse verwenden diese Parameter.
dhtadm -A -m SUNW.Sun-Fire-880 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:'
# Fügen Sie die Boot-Server-IP in alle Netzwerkmakros für die vom
# DHCP-Server bediente Topologie ein. In diesem Fall ist der Boot-Server dasselbe System, 
# das auch als DHCP-Server dient.
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
# Legen Sie fest, dass die Host-Namen an die Clients zurückgegeben werden.
dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_
# Der Client mit dieser MAC-Adresse ist ein Diskless-Client. 
# Überschreiben Sie die Root-Einstellungen
# des Netzwerkbereichs für die Installation mit dem Root-Verzeichnis des Clients.
dhtadm -A -m 0800201AC25E -d \
':SrootIP4=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.23.128.12":'

Führen Sie dhtadm als Superuser im Batch-Modus aus. Geben Sie den Namen des Skripts mit den zu dhcptab hinzuzufügenden Optionen und Makros an. Wenn Ihr Skript beispielsweise netinstalloptions heißt, geben Sie folgenden Befehl ein:


# dhtadm -B netinstalloptions

Clients, die mit einer der in der Zeichenkette Vendor= aufgeführten Client-Klassen bezeichnet sind, können nun per DHCP über das Netzwerk installiert werden.

Weitere Informationen über die Verwendung des Befehls dhtadm finden Sie in dhtadm(1M). Näheres zur Datei dhcptab finden Sie in dhcptab(4).