Du kan skriva ett Korn-skalskript genom att anpassa exemplet i Exempel 7–1 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.
# Läs in alternativ för leverantören Solaris. Vi börjar med att ge stöd för # plattformarna Sun-Blade-1000, Sun-Fire-880 och i86. Om du ändrar -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' # Läs in ett par användbara makrodefinitioner. # Definiera alla allmänna Solaris-alternativ i 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-specifika alternativ i makrot med namnet sparc. dhtadm -A -m sparc -d \ ':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":' # Definiera alla sun4u-specifika alternativ i makrot med namnet sun4u. # (Det inkluderar makrona Solaris och sparc.) dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:' # Parametrar som är specifika för Solaris på IA32 finns i det här makrot, som heter i86pc. dhtadm -A -m i86pc -d \ ':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\ :SbootFIL="/platform/i86pc/kernel/unix":' # Datorer som kör Solaris på IA32 identifieras av klassen "SUNW.i86pc". Alla # klienter som meddelar att de tillhör den här klassen tar emot dessa # parametrar i makrot som heter SUNW.i86pc, som inkluderar makrot i86pc. dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:' # Sun-Blade-1000-datorer meddelar att de tillhör klassen # "SUNW.Sun-Blade-1000". # Alla klienter som meddelar att de tillhör den här klassen # tar emot dessa parametrar. dhtadm -A -m SUNW.Sun-Blade-1000 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\ Include=sun4u:' # Sun-Fire-880-datorer meddelar att de tillhör klassen "SUNW.Sun-Fire-880". # Alla klienter som meddelar att de tillhör den här klassen tar emot dessa parametrar. dhtadm -A -m SUNW.Sun-Fire-880 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:' # Lägg till startserverns IP-adress till samtliga nätverksmakron för den topologi som DHCP # servern underhåller. Startservern råkar vara samma dator som DHCP-servern. 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 värdnamn returneras till klienterna. dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_ # Klienten med följande MAC-adress har inga skivminnen. Åsidosätt rotinställningarna # med klientens 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).