È possibile creare uno script con la Korn shell adattando la procedura descritta nell'Esempio 6–13 in modo da creare tutte le opzioni elencate nella Tabella 6–4 e nella Tabella 6–5 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 per 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. Si noti che le # opzioni SUNW.i86pc sono valide solo per Solaris 10 3/05. # Modificando -A in -M i valori vengono 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 sparc di Solaris in questa macro denominata sparc. dhtadm -A -m sparc -d \ ':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":' # Definisce tutte le opzioni di 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 su piattaforma IA32 sono in questa macro denominata i86pc. # Questa macro si applica solo a Solaris 10 3/05. 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 sono membri di questa classe vedranno questi parametri # nella macro denominata SUNW.i86pc, che include la macro i86pc. # Si noti che questa classe si applica solo a Solaris 10 3/05. 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 questa 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 membri della classe "SUNW.Sun-Fire-880". # Tutti i client che sono membri di questa classe vedranno questi parametri. dhtadm -A -m SUNW.Sun-Fire-880 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:' # Aggiunge l'IP del server di avvio a tutte le macro di rete della topologia servite dal # server DHCP. Nell'esempio, il server di avvio è 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_ # Crea una macro per i client PXE che devono essere avviati dal server di avvio. # Questa macro si applica solo a Solaris 10 3/05. dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \ :BootFile=nbp.i86pc:BootSrvA=10.21.0.2: # Crea una macro per i client PXE che devono essere avviati dal server di avvio. # Questa macro si applica solo a Solaris 10 2/06. dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \ :BootFile=i86pc:BootSrvA=10.21.0.2: # Crea una macro per il client x86 con l'indirizzo Ethernet 00:07:e9:04:4a:bf # per l'installazione dalla rete con PXE. dhtadm -A -m 010007E9044ABF -d :BootFile=010007E9044ABF:BootSrvA=10.21.0.2: # Il client con questo indirizzo MAC è un client diskless. Vengono ignorate le impostazioni # di root della configurazione di rete e impostata 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).