このセクションの例は、installadm create-profile コマンドを使用してインストールサービスに追加できる完全なシステム構成プロファイルです。これらのサンプルの各部分を必要に応じて組み合わせて使用できます。次のサンプルシステム構成プロファイルは /usr/share/auto_install/sc_profiles に含まれています。
enable_sci.xml - ブートプロセス中に対話型のシステム構成ツールを起動します。
sc_sample.xml - ユーザーアカウント、root 役割、コンソール端末タイプ、キーボード、ロケール、タイムゾーン、および単一の IPv4 ネットワークインタフェースを構成する方法を示します。次を参照してください。
static_network.xml - sc_sample.xml とほぼ同じですが、ネットブートされた AI クライアントのネットワーク構成を使用できるように、プロファイルテンプレート変数がネットワーク構成で使用されている点が異なります。このプロファイルにはネームサービスの構成例も含まれています。
unconfig.xml - ブートプロセス中に AI クライアントの構成を解除します。
install_env/dns.xml - DNS クライアントを構成するための構成情報を含む、部分的なプロファイル。
install_env/network.xml - 静的 IP アドレス、および静的 IP を含む InfiniBand データリンクの構成情報を含む、部分的なプロファイル。
このセクションでは、変更するベースとして使用できるシステム構成プロファイル例を示します。この例は、/usr/share/auto_install/sc_profiles/sc_sample.xml で利用できます。インストールサービスの作成が完了すると、このサンプルプロファイルが image-path/auto_install/sc_profiles/sc_sample.xml に作成されています。
<?xml version="1.0"?> <!-- Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. --> <!-- Sample system configuration profile for use with Automated Installer Configures the following: * User account name 'jack', password 'jack', GID 10, UID 101, root role, bash shell * 'root' role with password 'solaris' * Keyboard mappings set to US-English * Time zone set to UTC * Network configuration is automated with Network Auto-magic * DNS name service client is enabled See the installadm(8) man page for usage of 'create-profile' subcommand. --> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="system configuration"> <service name="system/config-user" version="1"> <instance name="default" enabled="true"> <property_group name="user_account"> <propval name="login" value="jack"/> <propval name="password" value="9Nd/cwBcNWFZg"/> <propval name="description" value="default_user"/> <propval name="shell" value="/usr/bin/bash"/> <propval name="gid" value="10"/> <propval name="uid" value="101"/> <propval name="type" value="normal"/> <propval name="roles" value="root"/> <propval name="profiles" value="System Administrator"/> </property_group> <property_group name="root_account"> <propval name="password" value="encrypted_password"/> <propval name="type" value="role"/> </property_group> </instance> </service> <service version="1" name="system/identity"> <instance enabled="true" name="node"> <property_group name="config"> <propval name="nodename" value="solaris"/> </property_group> </instance> </service> <service name="system/console-login" version="1"> <instance name="default" enabled="true"> <property_group name="ttymon"> <propval name="terminal_type" value="sun"/> </property_group> </instance> </service> <service name="system/keymap" version="1"> <instance name="default" enabled="true"> <property_group name="keymap"> <propval name="layout" value="US-English"/> </property_group> </instance> </service> <service name="system/timezone" version="1"> <instance name="default" enabled="true"> <property_group name="timezone"> <propval name="localtime" value="UTC"/> </property_group> </instance> </service> <service name="system/environment" version="1"> <instance name="init" enabled="true"> <property_group name="environment"> <propval name="LANG" value="en_US.UTF-8"/> </property_group> </instance> </service> <service name="network/nstall" version="1"> <instance name="default" enabled="true"> <property_group name="install_ipv4_interface" type="application"> <propval name="name" type="astring" value="{{AI_NETLINK_VANITY}}/v4"/> <propval name="address_type" type="astring" value="dhcp"/> </property_group> </instance> </service> </service_bundle>
このプロファイル例のバージョンは、/usr/share/auto_install/sc_profiles/static_network.xml で利用できます。このプロファイルの以下に示すバージョンは、次のパラメータを構成するために変更されています。
IPv4 の静的アドレスが 10.0.0.10 でネットマスクが 255.0.0.0 の bge0
10.0.0.1 の IPv4 デフォルトルート
IPv6 のアドレスタイプが addrconf の bge1
DNS 8.8.8.8 ネームサーバー
example1.com と example2.com (ホスト名検索の DNS 検索リストとして)
ネットマスクは、IPaddress/ netmask という表記で指定されます。ここで、netmask はネットマスクの上位ビットの数を示す数値です。
|
<?xml version="1.0"?> <!-- Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. --> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="system configuration"> <service name="system/config-user" version="1"> <instance name="default" enabled="true"> <property_group name="user_account"> <propval name="login" value="jack"/> <propval name="password" value="9Nd/cwBcNWFZg"/> <propval name="description" value="default_user"/> <propval name="shell" value="/usr/bin/bash"/> <propval name="gid" value="10"/> <propval name="type" value="normal"/> <propval name="roles" value="root"/> <propval name="profiles" value="System Administrator"/> </property_group> <property_group name="root_account"> <propval name="password" value="$5$dnRfcZse$Hx4aBQ161Uvn9ZxJFKMdRiy8tCf4gMT2s2rtkFba2y4"/> <propval name="type" value="role"/> </property_group> </instance> </service> <service version="1" name="system/identity"> <instance enabled="true" name="node"> <property_group name="config"> <propval name="nodename" value="solaris"/> </property_group> </instance> </service> <service name="system/console-login" version="1"> <instance name="default" enabled="true"> <property_group name="ttymon"> <propval name="terminal_type" value="sun"/> </property_group> </instance> </service> <service name="system/keymap" version="1"> <instance name="default" enabled="true"> <property_group name="keymap"> <propval name="layout" value="US-English"/> </property_group> </instance> </service> <service name="system/timezone" version="1"> <instance name="default" enabled="true"> <property_group name="timezone"> <propval name="localtime" value="UTC"/> </property_group> </instance> </service> <service name="system/environment" version="1"> <instance name="init" enabled="true"> <property_group name="environment"> <propval name="LANG" value="en_US.UTF-8"/> </property_group> </instance> </service> <service name="network/physical" version="1"> <instance name="default" enabled="true"> <property_group name="install_ipv4_interface" type="application"> <propval name="name" type="astring" value="{{AI_NETLINK_VANITY}}/v4"/> <propval name="address_type" type="astring" value="static"/> <propval name="static_address" type="net_address_v4" value="{{AI_IPV4}}/{{AI_IPV4_PREFIXLEN}}"/> <propval name="default_route" type="net_address_v4" value="{{AI_ROUTER}}"/> </property_group> </instance> </service> <service name="network/install" version="1" type="service"> <instance name="default" enabled="true"> <property_group name="install_ipv4_interface" type="application"> <propval name="name" type="astring" value="bge0/v4"/> <propval name="address_type" type="astring" value="static"/> <propval name="static_address" type="net_address_v4" value="10.0.0.10/8"/> <propval name="default_route" type="net_address_v4" value="10.0.0.1"/> </property_group> <property_group name="install_ipv6_interface" type="application"> <propval name="name" type="astring" value="bge1/v6"/> <propval name="address_type" type="astring" value="addrconf"/> <propval name="stateless" type="astring" value="yes"/> <propval name="stateful" type="astring" value="yes"/> </property_group> </instance> </service> <service name="network/dns/client" version="1"> <property_group name="config"> <property name="nameserver"> <net_address_list> <value_node value="8.8.8.8"/> </net_address_list> </property> <property name="search"> <astring_list> <value_node value="example1.com example2.com"/> </astring_list> </property> </property_group> <instance name="default" enabled="true"/> </service> <service version="1" name="system/name-service/switch"> <property_group name="config"> <propval name="default" value="files"/> <propval name="host" value="files dns mdns"/> <propval name="printer" value="user files"/> </property_group> <instance enabled="true" name="default"/> </service> <service version="1" name="system/name-service/cache"> <instance enabled="true" name="default"/> </service> </service_bundle>
次の例は、システム構成プロファイル内で Infiniband (IB) リンクを定義する方法を示しています。
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="system configuration"> <service name="network/physical" version="1"> <instance name="default" enabled="true"> <property_group name="netcfg" type="application"> <propval name="active_ncp" type="astring" value="DefaultFixed"/> </property_group> </instance> </service> <service name="network/install" version="1" type="service"> <instance name="default" enabled="true"> <property_group name="net5_partlink" type="ib_partlink"> <propval name="name" type="astring" value="FFFF.net5"/> <propval name="link" type="astring" value="net5"/> <propval name="pkey" type="astring" value="FFFF"/> </property_group> <property_group name="FFFF_net5_ipv4" type="ipv4_interface"> <propval name="name" type="astring" value="FFFF.net5/v4"/> <propval name="address_type" type="astring" value="static"/> <propval name="static_address" type="net_address_v4" value="6.6.6.49/24"/> <property_group name="net0_ipv4" type="ipv4_interface"> <propval name="name" type="astring" value="net0/v4"/> <propval name="address_type" type="astring" value="static"/> <propval name="static_address" type="net_address_v4" value="10.10.6.49/24"/> <propval name="default_route" type="net_address_v4" value="10.10.6.1"/> </property_group> </instance> </service> <service name="network/dns/client" version="1"> <property_group name="config"> <property name="nameserver"> <net_address_list> <value_node value="192.1.1.132"/> <value_node value="130.1.1.41"/> <value_node value="130.1.1.52"/> </net_address_list> </property> <property name="search"> <astring_list> <value_node value="example.com"/> </astring_list> </property> </property_group> <instance name="default" enabled="true"/> </service> <service version="1" name="system/name-service/switch"> <instance enabled="true" name="default"/> <property_group name="config"> <propval name="default" value="files"/> <propval name="host" value="files dns mdns"/> </property_group> </service> <service version="1" name="system/name-service/cache"> <instance enabled="true" name="default"/> </service>
この例では ipv4_interface プロパティーグループタイプを使用しているので、複数のインタフェースを構成できます。ipv6_interface プロパティーグループタイプを使用することもできます。
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <service version="1" type="service" name="network/install"> <instance enabled="true" name="default"> <property_group name="install_ipv4_interface_0" type="ipv4_interface"> <propval type="net_address_v4" name="static_address" value="10.0.0.10/8"/> <propval type="astring" name="name" value="net0/v4"/> <propval type="astring" name="address_type" value="static"/> </property_group> <property_group name="install_ipv4_interface_1" type="ipv4_interface"> <propval type="net_address_v4" name="static_address" value="10.0.0.11/8"/> <propval type="astring" name="name" value="net1/v4"/> <propval type="astring" name="address_type" value="static"/> </property_group> </instance> </service> </service_bundle> <service name="network/install" version="1" type="service"> <instance name="default" enabled="true"> <property_group name="install_ipv4_interface" type="application"> <propval name="name" type="astring" value="bge0/v4"/> <propval name="address_type" type="astring" value="static"/> <propval name="static_address" type="net_address_v4" value="10.0.0.10/8"/> <propval name="default_route" type="net_address_v4" value="10.0.0.1"/> </property_group>
この例は、自動インストールセッション中に、ssh_public_keys を使用してユーザーに SSH 鍵を追加する方法を示しています。各鍵は、指定されたユーザーの $HOME/.ssh/authorized_keys に追加されます。
<property_group type="application" name="user_account"> ... <property type="astring" name="ssh_public_keys"> <astring_list> <value_node value='[<options>] <key-type> <base64-encoding-key> [<comment>]' /> <value_node value='[<options>] <key-type> <base64-encoding-key> [<comment>]' /> </astring_list> </property> </property_group>
このセクションのプロファイル例をテンプレートとして使用して独自のプロファイルを作成できます。または、sysconfig ツールを naming_services グループとともに使用して、プロンプトへの応答に基づいてプロファイルを作成できます。sysconfig を使用したシステム構成プロファイルの作成の詳細は、SCI ツールを使用したシステム構成プロファイルの作成および sysconfig(1M) のマニュアルページを参照してください。
このプロファイル例では、次の構成を行います。
NIS サーバーに対して自動ブロードキャストでネームサービス NIS を構成します。NIS サーバーは同じサブネット上に置かれている必要があります
NIS ドメイン my.domain.com を構成します
ネームサービスキャッシュサービスを有効にします。これは必須です
DNS ネームサービスを無効にします
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <!-- service name-service/switch below for NIS only - (see nsswitch.conf(5)) --> <service version="1" type="service" name="system/name-service/switch"> <property_group type="application" name="config"> <propval type="astring" name="default" value="files nis"/> <propval type="astring" name="printer" value="user files nis"/> <propval type="astring" name="netgroup" value="nis"/> </property_group> <instance enabled="true" name="default"/> </service> <!-- service name-service/cache must be present along with name-service/switch --> <service version="1" type="service" name="system/name-service/cache"> <instance enabled="true" name="default"/> </service> <!-- if no DNS, must be explicitly disabled to avoid error msgs --> <service version="1" type="service" name="network/dns/client"> <instance enabled="false" name="default"/> </service> <service version="1" type="service" name="network/nis/domain"> <property_group type="application" name="config"> <propval type="hostname" name="domainname" value="my.domain.com"/> </property_group> <instance enabled="true" name="default"/> </service> <!-- configure the NIS client service to broadcast the subnet for a NIS server --> <service version="1" type="service" name="network/nis/client"> <property_group type="application" name="config"> <propval type="boolean" name="use_broadcast" value="true"/> </property_group> <instance enabled="true" name="default"/> </service> </service_bundle>使用例 81 指定されたドメインでの NIS と DNS の有効化
この例では、DNS と NIS の両方のネームサービスを構成します。
複数の DNS ネームサーバーを指定します
DNS ドメイン検索リストを指定します
NIS ドメインを指定します
ブロードキャストを指定して NIS サーバーを検出します
<?xml version="1.0"?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <!-- Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. --> <service_bundle type='profile' name='default'> <service name='network/dns/client' type='service' version='1'> <property_group name='config' type='application'> <propval name='domain' type='astring' value='us.oracle.com'/> <property name='nameserver' type='net_address'> <net_address_list> <value_node value='130.35.249.52' /> <value_node value='130.35.249.41' /> <value_node value='130.35.202.15' /> </net_address_list> </property> <property name='search' type='astring'> <astring_list> <value_node value='us.oracle.com oracle.com oraclecorp.com' /> </astring_list> </property> </property_group> <instance name='default' enabled='true' /> </service> <service name='network/nis/domain' type='service' version='1'> <property_group name='config' type='application'> <propval name='domainname' type='hostname' value='mydomain.com'/> </property_group> <instance name='default' enabled='true' /> /service> <service name='network/nis/client' type='service' version='1'> <property_group name='config' type='application'> <propval name='use_broadcast' type='boolean' value='true'/> </property_group> <instance name='default' enabled='true' /> </service> <service name='system/name-service/switch' type='service' version='1'> <property_group name='config' type='application'> <propval name='default' type='astring' value='files nis'/> <propval name='host' type='astring' value='files dns'/> <propval name='printer' type='astring' value='user files nis'/> <propval name='netgroup' type='astring' value='nis'/> </property_group> <instance name='default' enabled='true' /> </service> <service name='system/name-service/cache' type='service' version='1'> <instance name='default' enabled='true' /> </service> </service_bundle>
次のプロファイル例では、次のパラメータを構成します。
ネームサービス: DNS
DNS サーバーの IP アドレス: 1.1.1.1 および 2.2.2.2
ドメイン: my.domin.com
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <!-- name-service/switch below for DNS only - (see nsswitch.conf(5)) --> <service version="1" type="service" name="system/name-service/switch"> <property_group type="application" name="config"> <propval type="astring" name="default" value="files"/> <propval type="astring" name="host" value="files dns"/> <propval type="astring" name="printer" value="user files"/> </property_group> <instance enabled="true" name="default"/> </service> <!-- name-service/cache must be present along with name-service/switch --> <service version="1" type="service" name="system/name-service/cache"> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="network/dns/client"> <property_group type="application" name="config"> <!-- Note: use property with net_address_list and value_node as below --> <property type="net_address" name="nameserver"> <net_address_list> <value_node value="1.1.1.1"/> <value_node value="2.2.2.2"/> </net_address_list> </property> <!-- Note: use property with astring_list and value_node, concatenating search names, as below --> <property type="astring" name="search"> <astring_list> <value_node value="my.domin.com domain.com"/> </astring_list> </property> </property_group> <instance enabled="true" name="default"/> </service> </service_bundle>
このプロファイル例では、次のパラメータを構成します。
LDAP ネームサーバーの IP アドレス: 10.0.0.10
サービス system/nis/domain に指定されたドメイン my.domain.com
LDAP 検索ベース (必須)、dc=my,dc=domain,dc=com
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <service version="1" type="service" name="system/name-service/switch"> <property_group type="application" name="config"> <propval type="astring" name="default" value="files ldap"/> <propval type="astring" name="printer" value="user files ldap"/> <propval type="astring" name="netgroup" value="ldap"/> </property_group> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="system/name-service/cache"> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="network/dns/client"> <instance enabled="false" name="default"/> </service> <service version="1" type="service" name="network/ldap/client"> <property_group type="application" name="config"> <propval type="astring" name="profile" value="default"/> <property type="host" name="server_list"> <host_list> <value_node value="10.0.0.10"/> </host_list> </property> <propval type="astring" name="search_base" value="dc=my,dc=domain,dc=com"/> </property_group> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="network/nis/domain"> <property_group type="application" name="config"> <propval type="hostname" name="domainname" value="my.domain.com"/> </property_group> <instance enabled="true" name="default"/> </service> </service_bundle>使用例 84 セキュアな LDAP サーバーを使用した LDAP の構成
このプロファイル例では、次のパラメータを構成します。
LDAP サーバーの IP アドレス: 10.0.0.10
サービス system/nis/domain に指定されたドメイン my.domain.com
LDAP 検索ベース (必須)、dc=my,dc=domain,dc=com
LDAP プロキシバインド識別名 cn=proxyagent,ou=profile,dc=my,dc=domain,dc=com
LDAP プロキシバインドパスワード。セキュリティー対策として暗号化されています。暗号化された値を見つけるには、次のいずれかの方法を使用します。
sysconfig create-profile から bind_passwd プロパティー値を取得します。
LDAP サーバーの SMF 構成から値を取得します。
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <service version="1" type="service" name="system/name-service/switch"> <property_group type="application" name="config"> <propval type="astring" name="default" value="files ldap"/> <propval type="astring" name="printer" value="user files ldap"/> <propval type="astring" name="netgroup" value="ldap"/> </property_group> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="system/name-service/cache"> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="network/dns/client"> <instance enabled="false" name="default"/> </service> <service version="1" type="service" name="network/ldap/client"> <property_group type="application" name="config"> <propval type="astring" name="profile" value="default"/> <property type="host" name="server_list"> <host_list> <value_node value="10.0.0.10"/> </host_list> </property> <propval type="astring" name="search_base" value="dc=my,dc=domain,dc=com"/> </property_group> <property_group type="application" name="cred"> <propval type="astring" name="bind_dn" value="cn=proxyagent,ou=profile,dc=my,dc=domain,dc=com"/> <!-- note that the password below is encrypted --> <propval type="astring" name="bind_passwd" value="{NS1}c2ab873ae7c5ceefa4b9"/> </property_group> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="network/nis/domain"> <property_group type="application" name="config"> <propval type="hostname" name="domainname" value="my.domain.com"/> </property_group> <instance enabled="true" name="default"/> </service> </service_bundle>
DNS ネームサービスを LDAP ネームサービスとともに使用できます。一般的な使用法では、DNS でノード名 (LDAP サーバー名を含む) を解決し、LDAP でほかのすべての名前を解決します。この例の最初の service 要素に示したように、サービス system/name-service/switch を使用して、DNS をノード名の検索に指定し、LDAP をほかの名前解決に指定します。
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <service version="1" type="service" name="system/name-service/switch"> <property_group type="application" name="config"> <propval type="astring" name="default" value="files ldap"/> <propval type="astring" name="host" value="files dns"/> <propval type="astring" name="printer" value="user files ldap"/> </property_group> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="system/name-service/cache"> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="network/dns/client"> <property_group type="application" name="config"> <property type="net_address" name="nameserver"> <net_address_list> <value_node value="10.0.0.10"/> </net_address_list> </property> <propval type="astring" name="domain" value="my.domain.com"/> <property type="astring" name="search"> <astring_list> <value_node value="my.domain.com"/> </astring_list> </property> </property_group> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="network/ldap/client"> <property_group type="application" name="config"> <propval type="astring" name="profile" value="default"/> <property type="host" name="server_list"> <host_list> <!-- here, DNS is expected to resolve the LDAP server by name --> <value_node value="ldapserver.my.domain.com"/> </host_list> </property> <propval type="astring" name="search_base" value="dc=my,dc=domain,dc=com"/> </property_group> <instance enabled="true" name="default"/> </service> <service version="1" type="service" name="network/nis/domain"> <property_group type="application" name="config"> <propval type="hostname" name="domainname" value="my.domain.com"/> </property_group> <instance enabled="true" name="default"/> </service> </service_bundle>