Guida all'installazione di Solaris 9 4/04

Scrittura di uno script che utilizza dhtadm per creare opzioni e macro

Si può creare uno script con la Korn shell adattando l'esempio in Esempio 7–1 in modo da creare tutte le opzioni elencate nella Tabella 7–4 e alcune utili macro. Accertarsi di modificare tutti gli indirizzi IP e i valori contenuti tra virgolette in modo che corrispondano agli indirizzi IP corretti, ai nomi dei server e ai percorsi per la rete. Inoltre si dovrebbe modificare la chiave Vendor= per indicare la classe di client presenti. Usare le informazioni indicate da add_install_client -d per ottenere i dati necessari ad adattare lo script.


Esempio 7–1 Esempio di script per il supporto dell'installazione di rete

# Carica le opzioni specifiche dei fornitori per Solaris. Inizialmente sono supportati 
# i sistemi Sun-Blade-1000, Sun-Fire-880 e le piattaforme i86. Modificando -A in -M 
# i valori attuali verranno sostituiti anziché aggiunti.
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'
# Carica alcune definizioni di macro utili.
# Definisce tutte le opzioni generiche di Solaris in questa macro denominata Solaris.
dhtadm -A -m Solaris -d \
':SrootIP4=10.21.0.2:SrootNM="blue2":SinstIP4=10.21.0.2:SinstNM="red5":'
# Definisce tutte le opzioni specifiche della piattaforma sparc in questa 
# macro denominata sparc.
dhtadm -A -m sparc -d \
':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":'
# Definisce tutte le opzioni specifiche della piattaforma sun4u in questa 
# macro denominata sun4u. 
#  (Include le macro Solaris e sparc.)
dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:'
# I parametri specifici di Solaris sulla piattaforma IA32 sono definiti in 
# questa macro denominata i86pc.
dhtadm -A -m i86pc -d \
':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\
:SbootFIL="/platform/i86pc/kernel/unix":'
# I sistemi Solaris su IA32 sono identificati dalla classe "SUNW.i86pc". Tutti
# i client che si identificano come membri di questa classe vedranno 
# questi parametri nella macro SUNW.i86pc, che include la macro i86pc.
dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:'
# Le piattaforme Sun-Blade-1000 si identificano come membri della 
# classe "SUNW.Sun-Blade-1000".
# Tutti i client che si identificano come membri di tale classe
# vedranno questi parametri.
dhtadm -A -m SUNW.Sun-Blade-1000 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\
Include=sun4u:'
# Le piattaforme Sun-Fire-880 si identificano come parte membri 
# della classe "SUNW.Sun-Fire-880".
# Tutti i client che si identificano come membri di tale classe 
# vedranno questi parametri.
dhtadm -A -m SUNW.Sun-Fire-880 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:'
# Aggiunge l'indirizzo IP del server di boot a tutte le macro di rete 
# per la topologia servita dal server DHCP. Il server di boot in 
# questo caso è lo stesso sistema che esegue il server 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
# Verifica che i nomi degli host vengano restituiti ai client.
dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_
# Il client con questo indirizzo MAC è un client diskless. 
# Vengono ignorate le impostazioni di root indicate nella 
# configurazione della rete con la directory root del client.
dhtadm -A -m 0800201AC25E -d \
':SrootIP4=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.23.128.12":'

Come superutente, eseguire dhtadm in modalità batch. Specificare il nome dello script per aggiungere le opzioni e le macro a dhcptab. Ad esempio, se il nome dello script è netinstalloptions, digitare il comando seguente:


# dhtadm -B netinstalloptions

I client con classi di fornitori elencate nella stringa Vendor= possono ora utilizzare DHCP per l'installazione dalla rete.

Per maggiori informazioni sull'uso del comando dhtadm, vedere dhtadm(1M). Per maggiori informazioni sul file dhcptab, vedere dhcptab(4).