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

第 2 章 预配置系统配置信息(任务)

本章介绍如何使用 sysidcfg 文件预配置系统信息。预配置有助于避免在安装 Solaris OS 时被提示输入此信息。本章还说明了如何预配置 Power ManagementTM 信息。本章包含以下几节:

预配置系统配置信息的优点

各种安装方法都需要关于系统的配置信息,如外围设备、主机名、Internet 协议 (Internet Protocol, IP) 地址和命名服务。在安装工具提示您提供配置信息之前,它们会检查存储在其他位置的配置信息。

您可以选择以下方法之一来预配置系统信息。

表 2–1 预配置选项

预配置文件或服务 

说明 

详细信息 

sysidcfg 文件

使用 sysidcfg 文件中的关键字,预设置域名、网络掩码、DHCP、IPv6 和其他参数。

使用 sysidcfg 文件进行预配置

命名服务 

通过预配置命名服务中的系统信息,预设置主机名和 IP 地址。 

使用命名服务进行预配置

DHCP 

通过 DHCP,TCP/IP 网络中的主机系统可以在系统引导时针对网络自动进行配置。DHCP 可以根据需要将 IP 地址租用给客户机来实现对 IP 地址的管理。 

使用 DHCP 服务预配置系统配置信息(任务)

有关选择预配置方法的更多详细信息,请参见选择命名服务

如果 Solaris 安装程序或自定义 JumpStartTM 安装程序检测到预配置的系统信息,那么安装程序就不会提示您输入该信息。例如,您有若干个系统,您不希望每次在其中某个系统上安装当前 Solaris 发行版时都提示输入时区。您可以在 sysidcfg 文件或命名服务数据库中指定时区。这样在安装当前 Solaris 发行版时,安装程序就不会提示您输入时区了。

使用 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/09 安装指南:自定义 JumpStart 和高级安装》中的“创建独立系统的配置文件软盘”

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

HTTP 或 HTTPS 服务器 

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

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

Procedure创建 sysidcfg 配置文件

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

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


示例 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 文件,那么您需要执行其他任务。有关更多信息,请参见第 10 章

如果您计划在自定义 JumpStart 安装中使用 sysidcfg 文件,则必须创建一个配置文件和一个 rules.ok 文件。有关更多信息,请参见《Solaris 10 5/09 安装指南:自定义 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/09 安装指南:规划安装和升级》中的“在安装后修改安全性设置”

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

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 关键字。

SPARC: 预配置 Power Management 信息

您可以使用 Solaris OS 中提供的 Power Management 软件来自动保存系统状态并在系统闲置 30 分钟后将其关闭。当您在符合美国环保署的能源之星标准版本 2 的系统(例如,Sun4UTM 系统)上安装当前 Solaris 发行版时,缺省情况下会安装 Power Management 软件。如果您使用 Solaris 安装程序 GUI 安装,则安装程序将提示您启用或禁用 Power Management 软件。Solaris 文本安装程序将提示您,在安装完成且系统重新引导之后启用或禁用 Power Management 软件。


注 –

如果您的系统安装了能源之星版本 3 或更高版本,您不会被提示此信息。


如果执行的是交互式安装,则无法预配置 Power Management 信息,也无法避免出现提示。但是,通过使用自定义 JumpStart 安装,您可以预先配置 Power Management 信息,方法是使用结束脚本在系统上创建 /autoshutdown /noautoshutdown 文件。当系统重新引导时,/autoshutdown 文件将启用 Power Management,而 /noautoshutdown 文件将禁用 Power Management。

例如,结束脚本中的以下行将启用 Power Management 软件,并防止在系统重新引导之后显示提示信息。

touch /a/autoshutdown

有关结束脚本的说明,请参见《Solaris 10 5/09 安装指南:自定义 JumpStart 和高级安装》中的“创建结束脚本”