Solaris 10 5/08 安装指南:基于网络的安装

使用 sysidcfg 文件进行预配置

您可以在 sysidcfg 文件中指定一组关键字以预配置系统。sysidcfg 文件关键字中对这些关键字进行了描述。


注 –

在安装 Solaris OS 期间,sysidcfg 文件中的 name_service 关键字会自动设置命名服务。此设置将覆盖先前为 site.xml 设置的 SMF 服务。因此,您可能需要在安装之后重置名称服务。


您必须为每个需要不同配置信息的系统创建一个唯一的 sysidcfg 文件。如果要为一组系统指定相同的时区,那么您可以使用同一个 sysidcfg 文件预配置这些系统上的时区。但是,如果要为其中每个系统预先配置一个不同的 root(超级用户)口令,则需要为每个系统创建一个唯一的 sysidcfg 文件。

您可以将 sysidcfg 文件放在以下位置之一。

表 2–2 sysidcfg 位置

NFS 文件系统 

如果您将 sysidcfg 文件放在共享的 NFS 文件系统中,则当您设置系统以便从网络安装时,必须使用 add_install_client(1M) 命令的 -p 选项。 -p 选项指定了安装当前 Solaris 发行版时,系统可以找到 sysidcfg 文件的位置。

UFS 或 PCFS 软盘 

sysidcfg 文件放在软盘的根 (/) 目录中。

如果要执行自定义 JumpStart 安装,且要使用软盘上的 sysidcfg 文件,那么您必须将 sysidcfg 文件放在配置文件软盘上。要创建配置文件软盘,请参见《Solaris 10 5/08 安装指南:自定义 JumpStart 和高级安装》中的“创建独立系统的配置文件软盘”

在一个目录或一张软盘中只能放置一个 sysidcfg 文件。如果创建了多个 sysidcfg 文件,那么您必须将各个文件放在不同的目录或不同的软盘中。

HTTP 或 HTTPS 服务器 

如果要执行 WAN Boot 安装,请将 sysidcfg 文件放在 Web 服务器的文档根目录中。

您可以使用命名服务或 DHCP 来预配置系统。有关信息,请参见第 3 章,使用命名服务或 DHCP 进行预配置

Procedure创建 sysidcfg 配置文件

  1. 使用所需关键字在文本编辑器中创建名为 sysidcfg 的文件。

  2. 使用表 2–2 中介绍的位置之一,使 sysidcfg 文件可供客户机使用。


示例 2–1 SPARC: sysidcfg 文件

以下示例是一个基于 SPARC 的系统的 sysidcfg 文件。该系统的主机名、IP 地址和网络掩码均已通过编辑命名服务进行了预配置。因为所有的系统配置信息都已在此文件中预配置,所以您可以使用自定义 JumpStart 配置文件来执行自定义 JumpStart 安装。在此示例中,NFSv4 域名自动从命名服务中派生。 因为此示例中不包含 service_profile 关键字,所以在安装期间,配置不会针对网络服务而更改。

keyboard=US-English
system_locale=en_US
timezone=US/Central
terminal=sun-cmd
timeserver=localhost
name_service=NIS {domain_name=marquee.central.example.com
                  name_server=nmsvr2(172.31.112.3)}
nfs4_domain=dynamic
root_password=m4QPOWNY
network_interface=hme0 {hostname=host1 
                       default_route=172.31.88.1 
                       ip_address=172.31.88.210 
                       netmask=255.255.0.0 
                       protocol_ipv6=no}
security_policy=kerberos {default_realm=example.com 
                          admin_server=krbadmin.example.com 
                          kdc=kdc1.example.com, 
                          kdc2.example.com}


示例 2–2 x86: sysidcfg 文件

以下这个 sysidcfg 文件样例用于一组基于 x86 的系统。 在此示例中,将 NFSv4 域名指定为 example.com。此自定义名称会覆盖缺省域名。另外,在此示例中,网络服务被禁用,或被限制为只能进行本地连接。

keyboard=US-English
timezone=US/Central
timeserver=timehost1
terminal=ibm-pc
service_profile=limited_net

name_service=NIS {domain_name=marquee.central.example.com
                  name_server=nmsvr2(172.25.112.3)}
nfs4_domain=example.com
root_password=URFUni9


示例 2–3 用于配置多个接口的 sysidcfg 文件

以下 sysidcfg 文件样例中,为 eri0eri1 网络接口指定了配置信息。eri0 接口被配置为主网络接口,而 eri1 被配置为辅助网络接口。在本示例中,NFSv4 域名自动从命名服务中派生。

timezone=US/Pacific
system_locale=C
terminal=xterms
timeserver=localhost
network_interface=eri0 {primary
                        hostname=host1
                        ip_address=192.168.2.7
                        netmask=255.255.255.0
                        protocol_ipv6=no
                        default_route=192.168.2.1}

network_interface=eri1 {hostname=host1-b
                        ip_address=192.168.3.8
                        netmask=255.255.255.0
                        protocol_ipv6=no
                        default_route=NONE}
root_password=JE2C35JGZi4B2
security_policy=none
name_service=NIS {domain_name=domain.example.com
                  name_server=nis-server(192.168.2.200)}
nfs4_domain=dynamic

继续安装

从网络安装系统时,如果您计划使用 sysidcfg 文件,那么您需要设置一个安装服务器,并将系统添加为安装客户机。有关更多信息,请参见第 4 章,从网络进行安装(概述)

如果您计划在 WAN Boot 安装中使用 sysidcfg 文件,那么您需要执行其他任务。更多信息,请参见第 9 章,WAN Boot(概述)

如果您计划在自定义 JumpStart 安装中使用 sysidcfg 文件,则必须创建一个配置文件和一个 rules.ok 文件。有关更多信息,请参见《Solaris 10 5/08 安装指南:自定义 JumpStart 和高级安装》中的第 2  章 “自定义 JumpStart(概述)”

另请参见

有关 sysidcfg 文件的更多信息,请参见 sysidcfg(4) 手册页。

sysidcfg 文件的语法规则

您可以在 sysidcfg 文件中使用以下两种类型的关键字:独立关键字和依赖关键字。仅当其位于独立关键字中时,才能保证依赖关键字是唯一的。用关联的独立关键字对依赖关键字进行标识后,该依赖关键字才能存在。

在本示例中,name_service 是独立关键字,而 domain_namename_server 是依赖关键字:

name_service=NIS {domain_name=marquee.central.example.com
name_server=connor(192.168.112.3)}

语法规则 

示例 

独立关键字可以按任意顺序列出。 

pointer=MS-S
display=ati {size=15-inch}

关键字不区分大小写。 

TIMEZONE=US/Central
terminal=sun-cmd

将所有的依赖关键字括在花括号 ({}) 中,以将其绑定到关联的独立关键字。 

name_service=NIS 
       {domain_name=marquee.central.example.com
        name_server=connor(192.168.112.3)}

(可选)将值括在单引号 (`) 或双引号 (") 中。 

network_interface='none'

对于除 network_interface 关键字之外的所有其他关键字,一个关键字只有一个实例有效。如果多次指定一个关键字,那么将仅使用该关键字的第一个实例。

name_service=NIS
name_service=DNS

sysidcfg 文件关键字

表 2–3 列出了可在 sysidcfg 文件中用来配置系统信息的关键字。

表 2–3 可在 sysidcfg 中使用的关键字

配置信息 

关键字 

键盘布局和语言 

keyboard 关键字

命名服务、域名和名称服务器 

name_service 关键字

网络接口、主机名、Internet 协议 (Internet Protocol, IP) 地址、网络掩码、DHCP 和 IPv6 

network_interface 关键字

NFSv4 的域名定义 

nfs4_domain 关键字

超级用户口令 

root_password 关键字

安全策略 

security_policy 关键字

网络安全性配置文件 

service_profile 关键字

用于显示安装程序和桌面的语言 

system_locale 关键字

终端类型 

terminal 关键字

时区 

timezone 关键字

日期和时间 

timeserver 关键字

以下各节描述了可在 sysidcfg 文件中使用的关键字。

keyboard 关键字

sysidkdb 工具可配置 USB 语言及其相应的键盘布局。

将会发生以下过程:

可以使用 keyboard 关键字配置键盘语言及其相应的键盘布局信息。每种语言都有其自己的键盘布局。请使用以下语法选择语言及其相应的布局。

keyboard=keyboard_layout

例如,以下项可设置德语的键盘语言及其相应的键盘布局:

keyboard=German

keyboard_layout 提供的值必须为有效值。否则,在安装期间必须进行交互式响应。有效的 keyboard_layout 字符串在 /usr/share/lib/keytables/type_6/kbd_layouts 文件中进行定义。


仅适用于 SPARC –

以前,在安装期间 USB 键盘假定自识别值为 1。因此,所有非自识别键盘总是在安装期间配置为美国英语键盘布局。


如果键盘不是自识别键盘,并且您希望在 JumpStart 安装期间防止进行提示,请在 sysidcfg 文件中选择键盘语言。对于 JumpStart 安装,缺省配置是美国英语。要选择其他语言及其相应的键盘布局,请按照上面所提供的示例来设置 sysidcfg 文件中的键盘项。

有关详细信息,请参见 sysidcfg(4) 和 sysidtool (1M) 手册页。

name_service 关键字

您可以使用 name_service 关键字来配置系统的命名服务、域名和名称服务器。以下样例显示了 name_service 关键字的通用语法。


name_service=name-service {domain_name=domain-name 
                                 name_server=name-server
                                 optional-keyword=value}

只选择一个 name_service 值;根据需要包含以下所有关键字,或不包含其中的任何关键字:domain_namename_server 或可选关键字;如果未使用关键字,请省略花括号 {}。


注 –

在安装 Solaris OS 期间,sysidcfg 文件中的 name_service 选项会自动设置命名服务。 此设置将覆盖先前为 site.xml 设置的 SMF 服务。因此,您可能需要在安装之后重置名称服务。


以下部分对用于配置系统,以使用特定命名服务的关键字语法进行了说明。

name_service 关键字的 NIS 语法

请使用以下语法来配置系统,以使用 NIS 命名服务。


name_service=NIS {domain_name=domain-name 
                   name_server=hostname(ip-address)}
domain-name

指定域名

hostname

指定名称服务器的主机名

ip-address

指定名称服务器的 IP 地址


示例 2–4 使用 name_service 关键字指定 NIS 服务器

以下示例指定域名为 west.example.com 的 NIS 服务器。服务器的主机名为 timber,服务器 IP 地址为 192.168.2.1。


name_service=NIS {domain_name=west.example.com 
                  name_server=timber(192.168.2.1)}

有关 NIS 名称服务的更多信息,请参见《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》

name_service 关键字的 NIS+ 语法

请使用以下语法来配置系统,以使用 NIS 名称服务。


name_service=NIS+ {domain_name=domain-name 
                   name_server=hostname(ip-address)}
domain-name

指定域名

hostname

指定名称服务器的主机名

ip-address

指定名称服务器的 IP 地址


示例 2–5 使用 name_service 关键字指定 NIS+ 服务器

以下示例指定域名为 west.example.com 的 NIS+ 服务器。服务器的主机名为 timber,服务器 IP 地址为 192.168.2.1。


name_service=NIS+ {domain_name=west.example.com 
                   name_server=timber(192.168.2.1)}

有关 NIS+ 名称服务的更多信息,请参见《System Administration Guide: Naming and Directory Services (NIS+)》

name_service 关键字的 DNS 语法

请使用以下语法来配置系统,以使用 DNS。


name_service=DNS {domain_name=domain-name 
                  name_server=ip-address,ip-address,ip-address
                  search=domain-name,domain-name,domain-name,
                  domain-name,domain-name,domain-name} 
domain_name=domain-name

指定域名。

name_server=ip-address

指定 DNS 服务器的 IP 地址。您最多可以将三个 IP 地址指定为 name_server 关键字的值。

search=domain-name

(可选)指定附加域,以查找命名服务信息。您最多可以指定六个域名以进行查找,且每个查找项的总长度不能超过 250 个字符。


示例 2–6 使用 name_service 关键字指定 DNS 服务器

以下示例指定域名为 west.example.com 的 DNS 服务器。服务器 IP 地址为 10.0.1.10 和 10.0.1.20。example.comeast.example.com 作为附加域列出,以查找命名服务信息。


name_service=DNS {domain_name=west.example.com 
                  name_server=10.0.1.10,10.0.1.20 
                  search=example.com,east.example.com}

有关 DNS 名称服务的更多信息,请参见《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》

name_service 关键字的 LDAP 语法

请使用以下语法来配置系统,以使用 LDAP。


name_service=LDAP {domain_name=domain_name
                   profile=profile_name profile_server=ip_address 
                   proxy_dn="proxy_bind_dn" proxy_password=password}
domain_name

指定 LDAP 服务器的域名。

profile_name

指定要用来配置系统的 LDAP 配置文件的名称。

ip_address

指定 LDAP 配置文件服务器的 IP 地址。

proxy_bind_dn

(可选)指定代理绑定的独特名称。您必须将 proxy_bind_dn 值括在双引号中。

password

(可选)指定客户机代理的口令。


示例 2–7 使用 name_service 关键字指定 LDAP 服务器

以下示例指定具有以下配置信息的 LDAP 服务器。


name_service=LDAP {domain_name=west.example.com 
                   profile=default 
                   profile_server=172.31.2.1 
                   proxy_dn="cn=proxyagent,ou=profile,
                   dc=west,dc=example,dc=com" 
                   proxy_password=password}

有关如何使用 LDAP 的更多信息,请参见《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》

network_interface 关键字

请使用 network_interface 关键字执行以下任务。

以下部分说明了如何使用 network_interface 关键字配置系统接口。

非联网系统的语法

要断开系统的网络连接,请将 network_interface 值设置为 none。例如:


network_interface=none

用于配置单接口的语法

您可以使用以下数种方法利用 network_interface 关键字来配置单接口。


示例 2–8 使用 DHCP 和 network_interface 关键字配置单接口

以下示例指示安装程序使用 DHCP 来配置 eri0 网络接口。未启用 IPv6 支持。


network_interface=eri0 {dhcp protocol_ipv6=no}


示例 2–9 通过使用 network_interface 关键字指定配置信息来配置单接口

以下示例使用以下设置来配置接口 eri0


network_interface=eri0 {hostname=host1 ip_address=172.31.88.100
                        netmask=255.255.255.0 protocol_ipv6=no}

用于配置多个接口的语法

您可以在 sysidcfg 文件中配置多个网络接口。对于要配置的每个接口,请在 sysidcfg 文件中包含一个 network_interface 项。

您可以使用以下数种方法利用 network_interface 关键字来配置多个接口。

sysidcfg 文件中,您可以使用 DHCP 来配置特定接口,同时还可以在同一个 sysidcfg 文件中指定其他接口的配置信息。


示例 2–10 使用 network_interface 关键字配置多个接口

以下示例采用如下方法配置网络接口 eri0 和 eri1。


network_interface=eri0 {dhcp protocol_ipv6=no}
network_interface=eri1 {primary hostname=host1 
                        ip_address=172.146.88.100
                        netmask=255.255.255.0 
                        protocol_ipv6=no}

nfs4_domain 关键字

为了防止在安装期间要求指定 NFSv4 域名,请在 sysidcfg 文件中使用 nfs4_domain 关键字。此关键字可抑制在安装过程中选择域名。请使用以下语法:


nfs4_domain=dynamic or custom_domain_name
dynamic

此保留的关键字可根据命名服务配置动态派生 NFSv4 域名。例如:


nfs4_domain=dynamic

此示例允许根据命名服务派生域名。

保留的关键字 dynamic 不区分大小写。


注 –

缺省情况下,NFSv4 使用根据系统的命名服务自动派生的域名。此域名足可以满足大多数配置的需要。在少数情况下,由于不存在通用域名,跨域边界的挂载点可能会导致文件看起来像是由 "nobody" 所有。为了防止出现这种情况,可以覆盖缺省域名,而选择一个自定义的域名。


custom_domain_name

此值会覆盖缺省的域名。

此值必须为一个有效的自定义域名。有效的域名只能由字母数字字符、句点、下划线和破折号组成。第一个字符必须为字母字符。例如:


nfs4_domain=example.com

此示例将 nfsmapid 守护进程使用的值设置为 example.com。此选择会覆盖缺省的域名。


注 –

在以前的发行版中,通过使用脚本,可防止在安装期间要求用户提供 NFSv4 域名。

对于 Solaris 10 OS 中的 JumpStart 安装,您可以使用 JumpStart 样例脚本 set_nfs4_domain 作为解决方法来抑制安装期间的 NFSv4 提示。现在已不再需要此脚本,而是使用 sysidcfg 关键字 nfs4_domain

在以前的发行版中,/etc/.NFS4inst_state.domain 文件由 sysidnfs4 程序创建。此文件将会抑制在安装期间提示提供 NFSv4 域名。现在已不再创建此文件,而是使用 sysidcfg 关键字 nfs4_domain


root_password 关键字

您可以在 sysidcfg 文件中指定系统的超级用户口令。要指定超级用户口令,请按照以下语法使用 root_password 关键字。


root_password=encrypted-password

encrypted-password 是加密的口令,与 /etc/shadow 文件中出现的一样。

security_policy 关键字

您可以在 sysidcfg 文件中使用 security_policy 关键字来配置系统,以使用 Kerberos 网络验证协议。如果要配置系统,以使用 Kerberos,请使用以下语法。


security_policy=kerberos {default_realm=FQDN 
                          admin_server=FQDN kdc=FQDN1, FQDN2, FQDN3}

FQDN 指定了 Kerberos 缺省域、管理服务器或密钥分发中心 (KDC) 的全限定域名。您必须指定至少一个(最多三个)密钥分发中心。

如果不想设置系统的安全策略,请将其设置为 security_policy=NONE

有关 Kerberos 网络验证协议的更多信息,请参见《系统管理指南:安全性服务》


示例 2–11 使用 security_policy 关键字配置系统以使用 Kerberos

以下示例将系统配置为使用具有以下信息的 Kerberos。


security_policy=kerberos 
                {default_realm=example.COM 
                 admin_server=krbadmin.example.com 
                 kdc=kdc1.example.com, 
                 kdc2.example.com}

service_profile 关键字

您可以使用 service_profile 关键字,通过限制网络服务来安装更安全的系统。此安全性选项仅适用于初始安装。升级时会保留所有以前设置的服务。

请使用以下语法之一设置此关键字。


service_profile=limited_net

service_profile=open

limited_net 指定禁用除安全 Shell 之外的所有网络服务,或对这些服务进行限制以使它们只响应本地请求。安装之后,可以使用 svcadmsvccfg 命令启用各个网络服务。

open 指定安装期间不对任何网络服务进行更改。

如果 sysidcfg 文件中不存在 service_profile 关键字,则在安装期间不会对网络服务的状态进行任何更改。

可以通过使用 netservices open 命令,或通过使用 SMF 命令启用各个服务,在安装后启用网络服务。请参见《Solaris 10 5/08 安装指南:规划安装和升级》中的“在安装后修改安全性设置”

有关在安装期间限制网络安全性的详细信息,请参见《Solaris 10 5/08 安装指南:规划安装和升级》中的“规划网络安全性”。另请参见以下手册页。

system_locale 关键字

您可以使用 system_locale 关键字指定用于显示安装程序和桌面的语言。请使用以下语法指定语言环境。


system_locale=locale

locale 指定了希望系统用来显示安装面板和屏幕的语言。有关有效语言环境值的列表,请参见 /usr/lib/locale 目录或《国际语言环境指南》

terminal 关键字

您可以使用 terminal 关键字来指定系统的终端类型。请使用以下语法指定终端类型。


terminal=terminal_type

terminal_type 指定了系统的终端类型。有关有效终端值的列表,请参见 /usr/share/lib/terminfo 目录中的子目录。

timezone 关键字

您可以使用 timezone 关键字来设置系统的时区。请使用以下语法。


timezone=timezone

在以上示例中,timezone 指定了系统的时区值。/usr/share/lib/zoneinfo 目录中的目录和文件提供了有效时区值。timezone 的值是相对于 /usr/share/lib/zoneinfo 目录的路径的名称。您也可以指定任何有效的 Olson 时区。


示例 2–12 使用 timezone 关键字来配置系统时区信息

在以下示例中,系统时区被设置为美国的山地标准时间。


timezone=US/Mountain

安装程序对系统进行了配置,以使用 /usr/share/lib/zoneinfo/US/Mountain 中的时区信息。


timeserver 关键字

您可以使用 timeserver 关键字来指定用于在要安装的系统上设置日期和时间的系统。

请选择以下方法之一来设置 timeserver 关键字。