本章介绍有关使用命名服务或 DHCP 预配置系统信息的过程。本章包含以下几节:
您可以选择以下方法之一来预配置系统配置信息。您可以将系统配置信息添加到以下任何一个位置中。
远程系统或软盘上的 sysidcfg 文件
在安装 Solaris OS 期间,sysidcfg 文件中的 name_service 选项会自动设置命名服务。 此设置将覆盖先前为 site.xml 设置的 SMF 服务。因此,您可能需要在安装之后重置名称服务。
您的站点上可用的命名服务数据库
如果您的站点使用 DHCP,那么您也可以在站点 DHCP 服务器中预配置某些系统信息。有关如何使用 DHCP 服务器来预配置系统信息的更多说明,请参见使用 DHCP 服务预配置系统配置信息(任务)。
使用下表确定是否要使用 sysidcfg 文件或命名服务数据库来预配置系统配置信息。
表 3–1 预配置系统配置信息的方法
可预配置的系统信息 | ||
---|---|---|
是 |
是 |
|
是 |
否 |
|
是 |
否 |
|
是 |
否 |
|
是 因为此信息是特定于系统的,所以请编辑命名服务,而不是为每个系统创建一个不同的 sysidcfg 文件。 |
是 |
|
是 因为此信息是特定于系统的,所以请编辑命名服务,而不是为每个系统创建一个不同的 sysidcfg 文件。 |
是 |
|
是 |
否 |
|
是 |
否 |
|
是 |
否 |
|
是 |
否 |
|
是 |
否 |
|
是 |
否 |
|
用于显示安装程序和桌面的语言(语言环境) |
是 |
是(如果是 NIS 或 NIS+) 否(如果是 DNS 或 LDAP) |
是 |
否 |
|
是 |
是 |
|
是 |
是 |
|
否 您可以使用 Solaris 安装程序配置此信息,但是不能通过 sysidcfg 文件或命名服务来进行配置。 |
否 |
|
是 |
否 |
|
是 |
否 |
|
是 |
否 |
|
是 |
否 |
|
SPARC:Power Management(自动停机) 您无法通过 sysidcfg 文件或命名服务来预配置 Power Management。SPARC: 预配置 Power Management 信息包含详细信息。 |
否 |
否 |
下表高度概述了命名服务数据库,您需要编辑和填充这些数据库来预配置系统信息。
要预配置的系统信息 |
命名服务数据库 |
---|---|
主机名和 Internet 协议 (Internet Protocol, IP) 地址 |
hosts |
日期和时间 |
hosts。指定系统主机名旁的 timehost 别名,该系统将为要安装的系统提供日期和时间。 |
时区 |
timezone |
网络掩码 |
netmasks |
您不能使用 DNS 或 LDAP 名称服务来预配置系统的语言环境。如果使用 NIS 或 NIS+ 名称服务,请按照下面的过程使用命名服务来预配置系统的语言环境。
要使用 NIS 或 NIS+ 成功预配置系统语言环境,必须满足以下要求:
必须使用以下命令通过网络引导系统:
ok boot net |
可以将一些选项与此命令一起使用。有关详细信息,请参见SPARC: 通过网络安装客户机 (DVD)过程中的步骤 2。
在安装期间,必须可以访问 NIS 或 NIS+ 服务器。
如果满足这些要求,则在安装期间,安装程序将使用预配置的设置,且不会提示您提供语言环境。如果不能满足任一要求,则在安装期间,安装程序会提示您提供语言环境信息。
在名称服务器上,成为超级用户或承担等效角色。
更改 /var/yp/Makefile 以添加语言环境映射。
在最后一个 variable.time shell 过程后面插入以下 shell 过程。
locale.time: $(DIR)/locale -@if [ -f $(DIR)/locale ]; then \ sed -e "/^#/d" -e s/#.*$$// $(DIR)/locale \ | awk '{for (i = 2; i<=NF; i++) print $$i, $$0}' \ | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/locale.byname; \ touch locale.time; \ echo "updated locale"; \ if [ ! $(NOPUSH) ]; then \ $(YPPUSH) locale.byname; \ echo "pushed locale"; \ else \ : ; \ fi \ else \ echo "couldn't find $(DIR)/locale"; \ fi |
查找字符串 all:,然后在变量列表的末尾插入单词 locale。
all: passwd group hosts ethers networks rpc services protocols \ netgroup bootparams aliases publickey netid netmasks c2secure \ timezone auto.master auto.home locale |
在靠近文件末尾处、最后一种类型之后,另起一行新行,然后在该行上插入字符串 locale: locale.time。
passwd: passwd.time group: group.time hosts: hosts.time ethers: ethers.time networks: networks.time rpc: rpc.time services: services.time protocols: protocols.time netgroup: netgroup.time bootparams: bootparams.time aliases: aliases.time publickey: publickey.time netid: netid.time passwd.adjunct: passwd.adjunct.time group.adjunct: group.adjunct.time netmasks: netmasks.time timezone: timezone.time auto.master: auto.master.time auto.home: auto.home.time locale: locale.time |
保存文件。
创建 /etc/locale 文件并为每个域或指定系统创建一项:
输入 locale domain_name。
例如,以下项指定法语为 example.com 域中使用的缺省语言:
fr example.com |
《国际语言环境指南》中包含有效语言环境的列表。
或者,输入 locale system_name。
以下示例指定比利时法语为名为 myhost 的系统使用的缺省语言环境:
fr_BE myhost |
语言环境可以从 Solaris DVD 或 Solaris Software - 1 CD 中获得。
# cd /var/yp; make |
通过域指定的系统或分别在 locale 映射中指定的系统现在被设置为使用缺省语言环境。指定的缺省语言环境将在安装期间使用;系统重新引导后,由桌面使用。
从网络安装系统时,如果您计划使用 NIS 名称服务,那么您需要设置一个安装服务器并将系统添加为安装客户机。有关更多信息,请参见第 4 章,从网络进行安装(概述)。
如果您计划在自定义 JumpStart 安装中使用 NIS 名称服务,那么您需要创建一个配置文件和一个 rules.ok 文件。有关更多信息,请参见《Solaris 10 5/08 安装指南:自定义 JumpStart 和高级安装》中的第 2 章 “自定义 JumpStart(概述)”。
有关 NIS 名称服务的更多信息,请参见《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》中的第 III 部分, “NIS 的安装和管理”。
以下过程假设已经设置 NIS+ 域。有关设置 NIS+ 域的信息,请参见《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》。
以超级用户的身份或 NIS+ 管理员组成员的身份登录到名称服务器。
# nistbladm -D access=og=rmcd,nw=r -c locale_tbl name=SI,nogw= locale=,nogw= comment=,nogw= locale.org_dir.`nisdefaults -d` |
# nistbladm -a name=namelocale=locale comment=comment locale.org_dir.`nisdefaults -d` |
要为其预配置缺省语言环境的域名或特定系统名。
要在系统上安装,且系统重新引导之后要在桌面上使用的语言环境。《国际语言环境指南》中包含有效语言环境的列表。
注释字段。请使用双引号来开始和结束多于一个单词的注释。
语言环境可以从 Solaris DVD 或 Solaris Software - 1 CD 中获得。
通过域指定的系统或分别在 locale 表中指定的系统现在被设置为使用缺省语言环境。指定的缺省语言环境将在安装期间使用;系统重新引导后,由桌面使用。
从网络安装系统时,如果您计划使用 NIS+ 名称服务,那么需要设置一个安装服务器并将系统添加为安装客户机。有关更多信息,请参见第 4 章,从网络进行安装(概述)。
如果您计划在自定义 JumpStart 安装中使用 NIS+ 名称服务,那么您需要创建一个配置文件和一个 rules.ok 文件。有关更多信息,请参见《Solaris 10 5/08 安装指南:自定义 JumpStart 和高级安装》中的第 2 章 “自定义 JumpStart(概述)”。
有关 NIS+ 名称服务的更多信息,请参见《System Administration Guide: Naming and Directory Services (NIS+)》。
动态主机配置协议 (Dynamic Host Configuration Protocol, DHCP) 允许 TCP/IP 网络中的主机系统在引导时自动配置,以适应网络。DHCP 使用客户机和服务器机制。服务器为客户机存储和管理配置信息,并根据客户机的请求提供此信息。该信息中包含客户机的 IP 地址,以及关于客户机可使用的网络服务的信息。
DHCP 的主要优点是它能够通过租用来管理 IP 地址的指定。租用允许收回未使用的 IP 地址,然后重新指定给其他客户机。此功能使得站点使用的 IP 地址池可以小于为所有客户机指定永久地址所需的 IP 地址池。
可以使用 DHCP 在网络的特定客户机系统上安装 Solaris OS。所有由 Solaris OS 支持的基于 SPARC 的系统和满足运行 Solaris OS 的硬件要求的基于 x86 的系统可以使用此功能。
以下任务图显示了一些高级任务,要使客户机能够使用 DHCP 来获取安装参数就必须执行这些任务。
表 3–2 任务图:使用 DHCP 服务来预配置系统配置信息
任务 |
描述 |
参考 |
---|---|---|
设置安装服务器。 |
设置 Solaris 服务器,以支持必须从网络上安装 Solaris OS 的客户机。 | |
使用 DHCP 通过网络来为 Solaris 安装设置客户机系统。 |
使用 add_install_client -d 为某类客户机(例如特定类型的计算机)或特定客户机 ID 增加 DHCP 网络安装支持。 |
使用 Solaris DVD: 使用 Solaris CD: |
准备网络以使用 DHCP 服务。 |
确定要如何配置 DHCP 服务器。 | |
配置 DHCP 服务器。 |
使用 DHCP Manager 来配置 DHCP 服务器 | |
为安装参数创建 DHCP 选项;创建包含这些选项的宏。 |
使用 DHCP Manager 或 dhtadm 创建新的供应商选项和宏,DHCP 服务器可以使用这些选项和宏将安装信息传送到客户机。 |
当您使用 add_install_client -d 脚本在安装服务器上添加客户机时,脚本将把 DHCP 配置信息报告到标准输出。创建将网络安装信息传送到客户机时所需的选项和宏时,可以使用此信息。
可以在 DHCP 服务中自定义选项和宏,以执行以下类型的安装。
特定于类的安装-可以指示 DHCP 服务针对某一特定类的所有客户机执行网络安装。例如,您可以定义一个 DHCP 宏,对网络上的所有 Sun Blade 系统执行相同的安装。请使用 add_install_client -d 命令的输出来设置特定于类的安装。
特定于网络的安装-可以指示 DHCP 服务针对某一特定网络的所有客户机执行网络安装。例如,可以定义一个 DHCP 宏,对 192.168.2 网络上的所有系统执行相同的安装。
特定于客户机的安装-可以指示 DHCP 服务针对具有特定以太网地址的客户机执行网络安装。例如,您可以定义一个 DHCP 宏,对以太网地址为 00:07:e9:04:4a:bf 的客户机执行特定的04:4a:。使用 add_install_client -d -e ethernet_address 命令的输出设置特定于客户机的安装。
有关设置客户机以便使用 DHCP 服务器进行网络安装的更多信息,请参见以下过程。
有关使用 DVD 介质的网络安装,请参见使用 DVD 映像添加要从网络安装的系统。
有关使用 CD 介质的网络安装,请参见使用 CD 映像添加要从网络安装的系统。
要从网络安装 DHCP 客户机,您必须创建供应商目录选项,以便传送安装 Solaris OS 所需的信息。以下各表说明了可以用来安装 DHCP 客户机的通用 DHCP 选项。
可以使用表 3–3 中列出的标准 DHCP 选项来配置和安装基于 x86 的系统。这些选项不特定于平台,并且可以用来在各种基于 x86 的系统上安装 Solaris OS。通过使用 DHCP,使用这些选项在基于 x86 的系统上安装 Solaris 10 发行版。 有关标准选项的完整列表,请参见 dhcp_inittab(4)。
表 3–4 列出了可以用来安装 Sun 客户机系统的选项。此表中列出的供应商客户机类确定了哪些客户机类可以使用该选项。此处列出的供应商客户机类仅用作示例。您应当指定自己的客户机类,它表示您的网络中需要从网络安装的实际客户机。有关如何确定客户机的供应商客户机类的信息,请参见《系统管理指南:IP 服务》中的“使用 DHCP 选项(任务列表)”。
有关 DHCP 选项的详细信息,请参见《系统管理指南:IP 服务》中的“DHCP 选项信息”。
表 3–3 标准 DHCP 选项的值
选项名 |
代码 |
数据类型 |
粒度 |
最大值 |
描述 |
---|---|---|---|---|---|
BootFile |
N/A |
ASCII |
1 |
1 |
指向客户机的引导文件的路径 |
BootSrvA |
N/A |
IP 地址 |
1 |
1 |
引导服务器的 IP 地址 |
DNSdmain |
15 |
ASCII |
1 |
0 |
DNS 域名 |
DNSserv |
6 |
IP 地址 |
1 |
0 |
DNS 名称服务器列表 |
NISdmain |
40 |
ASCII |
1 |
0 |
NIS 域名 |
NISservs |
41 |
IP 地址 |
1 |
0 |
NIS 服务器的 IP 地址 |
NIS+dom |
64 |
ASCII |
1 |
0 |
NIS+ 域名 |
NIS+serv |
65 |
IP 地址 |
1 |
0 |
NIS+ 服务器的 IP 地址 |
Router |
3 |
IP 地址 |
1 |
0 |
网络路由器的 IP 地址 |
表 3–4 用于为 Solaris 客户机创建供应商目录选项的值
名称 |
代码 |
数据类型 |
粒度 |
最大值 |
供应商客户机类 * |
描述 |
---|---|---|---|---|---|---|
以下供应商目录选项是允许 DHCP 服务器支持 Solaris 安装客户机所需的选项。这些选项在 Solaris 客户机的启动脚本中使用。 注 – 此处列出的供应商客户机类仅用作示例。您应当指定自己的客户机类,它表示您的网络中需要从网络安装的实际客户机。 |
||||||
SrootIP4 |
2 |
IP 地址 |
1 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
根服务器的 IP 地址 |
SrootNM |
3 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
根服务器的主机名 |
SrootPTH |
4 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向根服务器上客户机的根目录的路径 |
SinstIP4 |
10 |
IP 地址 |
1 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
JumpStart 安装服务器的 IP 地址 |
SinstNM |
11 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
安装服务器的主机名 |
SinstPTH |
12 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向安装服务器上的安装映像的路径 |
以下选项可由客户机启动脚本使用,但不是这些脚本所必需的。 注 – 此处列出的供应商客户机类仅用作示例。您应当指定自己的客户机类,它表示您的网络中需要从网络安装的实际客户机。 |
||||||
SrootOpt |
1 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
客户机的根文件系统的 NFS 挂载选项 |
SbootFIL |
7 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向客户机的引导文件的路径 |
SbootRS |
9 |
数字 |
2 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
装入内核时,独立引导程序所使用的 NFS 读大小 |
SsysidCF |
13 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向 sysidcfg 文件的路径,格式为 server:/path |
SjumpsCF |
14 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向 JumpStart 配置文件的路径,格式为 server:/path |
16 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向独立引导文件或 WAN Boot 文件的路径。对于独立引导文件,请使用以下格式。 tftp://inetboot.sun4u 对于 WAN Boot 文件,格式为 http://host.domain/path-to-file 此选项可用于覆盖 BootFile 设置和 siaddr 设置,以检索独立引导文件。支持的协议:tftp (inetboot) 和 http (wanboot)。例如,使用以下格式。tftp://inetboot.sun4u |
|
17 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
网络上使用的代理服务器的 IP 地址和端口号。仅当客户机通过 WAN 引导,且本地网络使用了代理服务器时才需要此选项。例如,使用以下格式:198.162.10.5:8080 |
|
以下这些选项当前无法由 Solaris 客户机启动脚本直接使用,您必须编辑启动脚本才能使用它们。 注 – 此处列出的供应商客户机类仅用作示例。您应当指定自己的客户机类,它表示您的网络中需要从网络安装的实际客户机。 |
||||||
SswapIP4 |
5 |
IP 地址 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
交换服务器的 IP 地址 |
SswapPTH |
6 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向交换服务器上客户机的交换文件的路径 |
Stz |
8 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
客户机的时区 |
Sterm |
15 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
终端类型 |
当您创建选项后,可以创建包含这些选项的宏。下表列出了样例宏,您可以创建这些宏以支持客户机的 Solaris 安装。
表 3–5 支持网络安装客户机的样例宏
宏名 |
包含以下这些选项和宏 |
---|---|
Solaris |
SrootIP4, SrootNM, SinstIP4, SinstNM |
sparc |
SrootPTH, SinstPTH |
sun4u |
Solaris 宏和 sparc 宏 |
sun4v |
Solaris 宏和 sparc 宏 |
i86pc |
Solaris 宏、SrootPTH、SinstPTH、SbootFIL |
SUNW.i86pc |
i86pc 宏 注 – SUNW.i86pc 类的供应商客户机只对 Solaris 10 3/05 发行版和兼容版本有效。 |
SUNW.Sun-Blade-1000 |
sun4u 宏和 SbootFIL |
SUNW.Sun-Fire-880 |
sun4u 宏和 SbootFIL |
PXEClient:Arch:00000:UNDI:002001 |
BootSrvA, BootFile |
xxx.xxx.xxx.xxx 网络地址宏 |
可以将 BootSrvA 选项增加到现有的网络地址宏中。BootSrvA 的值应表示 tftboot 服务器。 |
01client-MAC-address 特定于客户机的宏(例如,010007E9044ABF) |
BootSrvA, BootFile |
上表中列出的宏名与必须从网络安装的客户机的供应商客户机类相匹配。这些宏名是可能位于您的网络上的客户机示例。有关如何确定客户机的供应商客户机类的信息,请参见《系统管理指南:IP 服务》中的“使用 DHCP 选项(任务列表)”。
您可以使用以下方法来创建这些选项和宏。
在 DHCP Manager 中创建选项和宏。有关如何在 DHCP Manager 中创建选项和宏的说明,请参见使用 DHCP Manager 创建安装选项和宏。
使用 dhtadm 命令编写一个创建选项和宏的脚本。有关如何编写创建这些选项和宏的脚本的信息,请参见编写使用 dhtadm 创建选项和宏的脚本。
请注意,提供给特定客户机的供应商选项的总大小不得超过 255 字节,包括选项代码和长度信息。这限制了当前 Solaris DHCP 协议的实施。一般情况下,应该能够传送所需的最小量的供应商信息。在需要输入路径名的选项中,应该使用简短的路径名。如果创建指向长路径的符号链接,则可以使用更简短的链接名。
可以使用 DHCP Manager 创建在表 3–4 中列出的选项和在表 3–5 中列出的宏。
在为安装创建 DHCP 宏之前执行以下任务。
将希望使用 DHCP 进行安装的客户机添加为网络安装服务器的安装客户机。有关如何将客户机添加至安装服务器的信息,请参见第 4 章,从网络进行安装(概述)。
配置 DHCP 服务器。如果尚未配置 DHCP 服务器,请参见《系统管理指南:IP 服务》中的第 13 章 “规划 DHCP 服务(任务)”。
在 DHCP 服务器系统上,成为超级用户或承担等效角色。
启动 DHCP Manager。
# /usr/sadm/admin/bin/dhcpmgr & |
将显示“DHCP Manager”窗口。
在“DHCP Manager”中选择“选项”选项卡。
从“编辑”菜单中选择“创建”。
“创建选项”面板会打开。
键入第一个选项的选项名称,然后为该选项键入相应的值。
请使用 add_install_client 命令的输出、表 3–3 和表 3–4 来检查必须创建的选项的选项名称和值。请注意,供应商客户机类只是建议的值。您应当创建自己的客户机类,以指明需要从 DHCP 服务获取 Solaris 安装参数的实际客户机类型。有关如何确定客户机的供应商客户机类的信息,请参见《系统管理指南:IP 服务》中的“使用 DHCP 选项(任务列表)”。
输入所有值之后,单击“确定”。
在“选项”选项卡中,选择刚刚创建的选项。
从“编辑”菜单中选择“复制”。
“复制选项”面板会打开。
键入另一个选项名称,然后相应地修改其他值。
您现在可以创建宏,以将选项传送给网络安装客户机,如以下过程所述。
您不需要将这些选项添加到 Solaris 客户机的 /etc/dhcp/inittab 文件中,因为此文件中已经包含了这些选项。
在为安装创建 DHCP 宏之前执行以下任务。
将希望使用 DHCP 进行安装的客户机添加为网络安装服务器的安装客户机。有关如何将客户机添加至安装服务器的信息,请参见第 4 章,从网络进行安装(概述)。
配置 DHCP 服务器。如果尚未配置 DHCP 服务器,请参见《系统管理指南:IP 服务》中的第 13 章 “规划 DHCP 服务(任务)”。
创建要在宏中使用的 DHCP 选项。有关如何创建 DHCP 选项的说明,请参见如何创建选项以支持 Solaris 安装 (DHCP Manager)。
在“DHCP Manager”中选择“宏”选项卡。
从“编辑”菜单中选择“创建”。
“创建宏”面板会打开。
键入宏名。
有关可能使用的宏名,请参见表 3–5。
单击“选择”按钮。
“选择选项”面板会打开。
在“目录”列表中选择“供应商”。
将列出您创建的供应商选项。
选择要增加到宏的选项,然后单击“确定”。
键入选项的值。
要包含其他宏,请键入 Include 作为选项名,并键入宏名作为选项值。
宏完成后,单击“确定”。
从网络安装系统时,如果计划使用 DHCP,那么需要设置一个安装服务器并将系统添加为安装客户机。有关更多信息,请参见第 4 章,从网络进行安装(概述)。
如果计划在 WAN boot 安装中使用 DHCP,则需要执行其他任务。更多信息,请参见第 9 章,WAN Boot(概述)。
如果计划在自定义 JumpStart 安装中使用 DHCP,则需要创建一个配置文件和一个 rules.ok 文件。有关更多信息,请参见《Solaris 10 5/08 安装指南:自定义 JumpStart 和高级安装》中的第 2 章 “自定义 JumpStart(概述)”。
有关 DHCP 的更多信息,请参见《系统管理指南:IP 服务》中的第 III 部分, “DHCP”。
可以通过改写示例 3–1 中的示例创建一个 Korn shell 脚本,以创建表 3–3 和表 3–4 中列出的所有选项以及一些有用的宏。请确保将括在引号中的所有 IP 地址和值更改为适用于您的网络的正确的 IP 地址、服务器名和路径。您还应编辑 Vendor= 关键字以指明您拥有的客户机类。使用 add_install_client -d 报告的信息,以获取改写脚本所需的数据。
# Load the Solaris vendor specific options. We'll start out supporting # the Sun-Blade-1000, Sun-Fire-880, and i86 platforms. Note that the # SUNW.i86pc option only applies for the Solaris 10 3/05 release. # Changing -A to -M would replace the current values, rather than add them. 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' # Load some useful Macro definitions. # Define all Solaris-generic options under this macro named Solaris. dhtadm -A -m Solaris -d \ ':SrootIP4=10.21.0.2:SrootNM="blue2":SinstIP4=10.21.0.2:SinstNM="red5":' # Define all sparc-platform specific options under this macro named sparc. dhtadm -A -m sparc -d \ ':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":' # Define all sun4u architecture-specific options under this macro named sun4u. # (Includes Solaris and sparc macros.) dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:' # Solaris on IA32-platform-specific parameters are under this macro named i86pc. # Note that this macro applies only for the Solaris 10 3/05 release. dhtadm -A -m i86pc -d \ ':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\ :SbootFIL="/platform/i86pc/kernel/unix":' # Solaris on IA32 machines are identified by the "SUNW.i86pc" class. All # clients identifying themselves as members of this class will see these # parameters in the macro called SUNW.i86pc, which includes the i86pc macro. # Note that this class only applies for the Solaris 10 3/05 release. dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:' # Sun-Blade-1000 platforms identify themselves as part of the # "SUNW.Sun-Blade-1000" class. # All clients identifying themselves as members of this class # will see these parameters. dhtadm -A -m SUNW.Sun-Blade-1000 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\ Include=sun4u:' # Sun-Fire-880 platforms identify themselves as part of the "SUNW.Sun-Fire-880" class. # All clients identifying themselves as members of this class will see these parameters. dhtadm -A -m SUNW.Sun-Fire-880 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:' # Add our boot server IP to each of the network macros for our topology served by our # DHCP server. Our boot server happens to be the same machine running our 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 # Make sure we return host names to our clients. dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_ # Create a macro for PXE clients that want to boot from our boot server. # Note that this macro applies for the Solaris 10 3/05 release. dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \ :BootFile=nbp.i86pc:BootSrvA=10.21.0.2: # Create a macro for PXE clients that want to boot from our boot server. # Note that this macro applies for the Solaris 10 2/06 release. dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \ :BootFile=i86pc:BootSrvA=10.21.0.2: # Create a macro for the x86 based client with the Ethernet address 00:07:e9:04:4a:bf # to install from the network by using PXE. dhtadm -A -m 010007E9044ABF -d :BootFile=010007E9044ABF:BootSrvA=10.21.0.2: # The client with this MAC address is a diskless client. Override the root settings # which at the network scope setup for Install with our client's root directory. dhtadm -A -m 0800201AC25E -d \ ':SrootIP4=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.23.128.12":' |
以超级用户的身份在批处理模式下执行 dhtadm。指定脚本名称,以将选项和宏添加到您的 dhcptab 中。例如,如果您的脚本名称为 netinstalloptions,则键入以下命令。
# dhtadm -B netinstalloptions |
现在,具有 Vendor= 字符串中列出的供应商客户机类的客户机可以使用 DHCP 通过网络进行安装了。
有关如何使用 dhtadm 命令的更多信息,请参见 dhtadm(1M)。有关 dhcptab 文件的更多信息,请参见 dhcptab(4)。