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.
# 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).