Du kan skriva ett Korn-skalskript genom att anpassa exemplet i Exempel 7–13 så att alternativen i Tabell 7–4 och ett par användbara makron skapas. Du måste ändra alla IP-adresser och värden inom citationstecken till de rätta IP-adresserna, servernamnen och sökvägarna i nätverket. Du bör också redigera nyckeln Vendor= och ange vilken typ av klienter du har. Använd informationen som du får från add_install_client -d för att anpassa skriptet.
# Ladda Solaris leverantörsspecifika alternativ. Vi börjar med att stödja # plattformarna Sun-Blade-1000, Sun-Fire-880 och i86. Vid ändring av -A till -M ersätts # de aktuella värdena i stället för att läggas till. 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' # Ladda några användbara makrodefinitioner. # Definiera alla Solaris-standardalternativ under det här makrot som heter Solaris. dhtadm -A -m Solaris -d \ ':SrootIP4=10.21.0.2:SrootNM="blue2":SinstIP4=10.21.0.2:SinstNM="red5":' # Definiera alla sparc-plattformsspecifika alternativ under det här makrot som heter sparc. dhtadm -A -m sparc -d \ ':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":' # Definiera alla sun4u-arkitekturspecifika alternativ under det här makrot som heter sun4u. # (Tar med makrona Solaris och sparc.) dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:' # Solaris på IA32-plattformsspecifika parametrar heter under det här makrot i86pc. dhtadm -A -m i86pc -d \ ':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\ :SbootFIL="/platform/i86pc/kernel/unix":' # Solaris på IA32-datorer identifieras av klassen "SUNW.i86pc" class. Alla # klienter som identifierar sig som medlemmar av den här klassen ser dessa # parametrar i makrot SUNW.i86pc, som innehåller makrot i86pc. dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:' # Sun-Blade-1000-plattformar identifierar sig som en en del av # klassen "SUNW.Sun-Blade-1000". # Alla klienter som identifierar sig som medlemmar av den här klassen # ser dessa parametrar. dhtadm -A -m SUNW.Sun-Blade-1000 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\ Include=sun4u:' # Sun-Fire-880-plattformar identifierar sig som en del av klassen "SUNW.Sun-Fire-880". # Alla klienter som identifierar sig som medlemmar av den här klassen ser dessa parametrar. dhtadm -A -m SUNW.Sun-Fire-880 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:' # Lägg till vår startserver-IP i alla nätverksmakron för vår topologi som hanteras av vår # DHCP-server. Vår startserver råkar vara samma dator som kör vår DHCP-server. 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 # Se till att vi returnerar värdnamn till våra klienter. dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_ # Klienten med den här MAC-adressen är en klient utan skivminne. Åsidosätt rotinställningarna # för nätverkets omfattning vid installation med vår klients rotkatalog. dhtadm -A -m 0800201AC25E -d \ ':SrootIP4=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.23.128.12":' |
Logga in som superanvändaren och kör dhtadm satsvist. Ange namnet på skriptet för att lägga till alternativen och makrona i dhcptab. Om skriptet heter netinstalloptions, till exempel, anger du följande kommando.
# dhtadm -B netinstalloptions |
Klienter som tillhör leverantörsklientklasser som ingår i strängen Vendor= kan då använda DHCP och installera det via nätverket.
Mer information om hur du använder kommandot dhtadm finns i dhtadm(1M). Mer information om filen dhcptab finns i dhcptab(4).