Solaris 8 のインストール (上級編)

第 4 章 システム構成情報の事前設定

この章では、sysidcfg ファイルとネームサービスデータベースの構成情報を事前設定して、Solaris をインストールするたびに情報を入力する手間を避ける方法について説明します。また、電源管理システムの構成情報を事前設定する方法についても説明します。

Solaris 8 対話式インストールプログラムまたはカスタム JumpStart を使用して Solaris 8 ソフトウェアをインストールするためには、システムに関する構成情報 (システムの周辺機器、ホスト名、インターネットプロトコル (IP) アドレス、ネームサービスなど) が必要です。どちらのインストールプログラムも構成情報を要求する前に、sysidcfg ファイルまたはネームサービスデータベースを (この順序で) 調べて情報を探します。

たとえば多数のシステムがあって、システムのどれかに Solaris 8 をインストールするたびに時間帯を尋ねられないようにするには、sysidcfg ファイルまたはネームサービスデータベースに時間帯を指定できます。この設定を行うと、Solaris 8 をインストールするときに、時間帯プロンプトは表示されません。

事前設定の方法

システム構成情報を事前設定するには 2 つの方法があります。情報は次のところに設定できます。

表 4-1 を使って、システム構成情報を事前設定するための方法を決定してください。

表 4-1 システム構成情報を事前設定するための方法

事前設定の対象 

プラットフォーム 

sysidcfg ファイルでの事前設定の可否

ネームサービスでの事前設定の可否

ネームサービス 

SPARC/IA 

可能 

可能 

ドメイン名 

SPARC/IA 

可能 

不可 

ネームサーバー 

SPARC/IA 

可能 

不可 

ネットワークインタフェース 

SPARC/IA 

可能 

不可 

ホスト名 

SPARC/IA 

可能 [この情報はシステムに固有なため、各システム用に異なる sysidcfg ファイルを作成するよりも、ネームサーバーを編集してください。]

可能 

IP アドレス 

 

SPARC/IA 

可能

 

可能 

ネットマスク 

SPARC/IA 

可能 

不可 

DHCP 

SPARC/IA 

可能 

不可 

IPv6 

SPARC/IA 

可能 

不可 

root パスワード 

SPARC/IA 

可能 

不可 

セキュリティポリシー 

SPARC/IA 

可能 

不可 

インストールプログラムとデスクトップで表示する言語 (ロケール) 

SPARC/IA 

可能 

可能 

端末タイプ 

SPARC/IA 

可能 

不可 

時間帯 

SPARC/IA 

可能 

可能 

日付と時刻 

SPARC/IA 

可能 

可能 

モニタータイプ 

IA 

可能 

不可 

キーボード言語、キーボード配置 

IA 

可能 

不可 

グラフィックスカード、カラー深度、表示解像度、画面サイズ 

IA 

可能 

不可 

ポインティングデバイス、ボタン数、IRQ レベル 

IA 

可能 

不可 

電源管理システム [このシステム構成情報は、sysidcfg ファイルまたはネームサービスでは事前設定できません。詳細は、「SPARC: 電源管理情報の事前設定」を参照してください。]

SPARC 

不可 

不可 

sysidcfg ファイルによる事前設定

sysidcfg ファイルに一連のキーワードを指定すると、システムを事前設定できます。表 4-2 は、これらのキーワードを示しています。

異なる構成情報を必要とするシステムごとに、固有の sysidcfg ファイルを作成する必要があります。すべてのシステムに同じ時間帯を割り当てる場合は、同じ sysidcfg ファイルを使用して、一連のシステムに時間帯を事前設定することができます。ただし、これらの各システムに異なる root (スーパーユーザー) パスワードを事前設定する場合は、各システムに固有の sysidcfg ファイルを作成する必要があります。

sysidcfg ファイルは、共有 NFSTM ネットワークディレクトリ、または次のフロッピーディスクのルート (/) ディレクトリに置くことができます。

これらはシステムのフロッピーディスクドライブに挿入されます。

キーワードの種類: 依存型と非依存型

sysidcfg ファイルで使用するキーワードには、非依存型と依存型の 2 種類があります。依存型キーワードは、非依存型キーワード内でのみ固有であることが保証されています。つまり、依存型キーワードは、対応する非依存型キーワードによって識別される場合にのみ存在します。

次の例では、name_service が非依存型キーワードであり、domain_namename_server が依存型キーワードです。


name_service=NIS {domain_name=marquee.central.sun.com
name_server=connor(129.152.112.3)}

sysidcfg ファイルの構文規則

以下に構文規則を示します。

構文規則 

例 

キーワードは任意の順序で指定可能 

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

キーワードは大文字と小文字のどちらでもよい 

TIMEZONE=US/Central
terminal=PC Console

関連する非依存型キーワードを結合するには、すべての依存型キーワードを中括弧 { } で囲む 

name_service=NIS 
       {domain_name=marquee.central.sun.com
        name_server=connor(129.152.112.3)}

値は単一引用符 (') または二重引用符 (") で囲んで指定可能 

network_interface='none'

キーワードは 1 回だけ指定可能。キーワードを複数回指定した場合は最初のキーワードだけが有効 

network_interface=none
network_interface=le0

表 4-2 に、sysidcfg ファイルで使用できるキーワードを示します。

表 4-2 sysidcfg キーワード

構成情報 

プラットフォーム 

キーワード 

使用例または設定値の書かれている場所 

ネームサービス、ドメイン名、ネームサーバー 

SPARC/IA 

name_service=NIS, NIS+, DNS, NONE

 
   

NIS と NIS+ 用オプション {domain_name=domain_name name_server=hostname(ip_address)}

name_service=NIS {domain_name=west.arp.com name_server=timber(129.221.2.1)}

name_service=NIS+ {domain_name=west.arp.com name_server=timber(129.221.2.1)}

  

DNS 用オプション {domain_name=domain_name name_server=ip_address,ip_address, ip_address (最大 3 個) search=domain_name,domain_name,domain_name,domain_name,domain_name, domain_name (最大 6 個、合計の長さが 250 文字以下)}

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


注 -

name_service は 1 つの値だけを選択します。必要に応じて、domain_namename_server キーワードのどちらか 1 つまたは両方を設定するか、あるいはどちらも設定しません。どちらのキーワードも使用しない場合、中括弧 { } は省略します。


ネットワークインタフェース、ホスト名、IP アドレス、ネットマスク、DHCP、IPv6 

SPARC/IA 

network_interface=NONE, PRIMARY, value

 
    DHCP を使用する場合、次のように指定する。 {dhcp protocol_ipv6=yes_or_no}

network_interface=primary {dhcp protocol_ipv6=yes}

    DHCP を使用しない場合、次のように指定する。 {hostname=host_name ip_address=ip_address netmask=netmask protocol_ipv6=yes_or_no}

network_interface=le0 {hostname=feron ip_address=129.222.2.1 netmask=255.255.0.0 protocol_ipv6=no}


注 -

network_interface は、1 つの値だけを選択します。必要に応じて、hostnameip_addressnetmask キーワードのどれかを組み合わせて設定するか、あるいはどれも設定しません。どのキーワードも使用しない場合、中括弧 { } は省略します。



注 -

DHCP を使用しない場合、protocol_ipv6 は省略可能です。指定する必要はありません。


root パスワード 

SPARC/IA 

root_password=root_password

/etc/shadow にある暗号化された文字列

セキュリティポリシー 

SPARC/IA 

security_policy=kerberos, NONE

Kerberos 用オプション {default_realm=FQDN admin_server=FQDN kdc=FQDN1, FQDN2, FQDN3}

FQDN は完全修飾ドメイン名です。


注 -

最大 3 つの鍵発行センターをリストできます。少なくとも 1 つは必須です。


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

インストールプログラムとデスクトップで表示する言語 

SPARC/IA 

system_locale=locale

有効なロケール値が、/usr/lib/locale ディレクトリまたは付録 B 「言語とロケールの値」 にある。

端末タイプ 

SPARC/IA 

terminal=terminal_type

有効な端末値が /usr/share/lib/terminfo ディレクトリのサブディレクトリにある。

時間帯 

SPARC/IA 

timezone=timezone

有効な時間帯値が /usr/share/lib/zoneinfo ディレクトリのサブディレクトリとファイルにある。時間帯値は /usr/share/lib/zoneinfo ディレクトリからの相対パス名です。たとえば、日本の時間帯値は Japan です。

日付と時刻 

SPARC/IA 

timeserver=localhost, hostname, ip_addr

localhost を指定した場合は、そのシステムの時刻が正しいものと見なされます。あるシステムの hostname または ip_addr を指定した場合 (ネームサービスを実行していない場合) は、そのシステムの時刻を使って時刻が設定されます。

モニタータイプ 

IA 

monitor=monitor_type

kdmconfig -d filename を実行すると、その出力が sysidcfg ファイルに追加されます。

キーボード言語、キーボード配置 

IA 

keyboard=keyboard_language {layout=value}

kdmconfig -d filename を実行すると、その出力が sysidcfg ファイルに追加されます。

グラフィックスカード、カラー深度、表示解像度、画面サイズ 

IA 

display=graphics_card {size=screen_size depth=color_depth resolution=screen_resolution}

kdmconfig -d filename を実行すると、その出力が sysidcfg ファイルに追加されます。

ポインティングデバイス、ボタン数、IRQ レベル 

IA 

pointer=pointing_device {nbuttons=number_buttons irq=value}

kdmconfig -d filename を実行すると、その出力が sysidcfg ファイルに追加されます。

SPARC: sysidcfg ファイルの例

一連の SPARC 搭載システムのための sysidcfg ファイルの例を次に示します。(これらのシステムのホスト名、IP アドレス、およびネットマスクは、ネームサービスを編集することにより、すでに事前設定されています。) このファイルにはすべてのシステム構成情報が事前設定されているので、カスタム JumpStart プロファイルを使ってカスタム JumpStart インストールが実行できます。

system_locale=en_US
timezone=US/Central
terminal=sun-cmd
timeserver=localhost
name_service=NIS {domain_name=marquee.central.sun.com
                  name_server=connor(129.152.112.3)}
root_password=m4QPOWNY

IA: sysidcfg ファイルの例

一連の IA 搭載システムで、キーボード、グラフィックスカード、ポインティングデバイスがすべて同じ場合の sysidcfg ファイルの例を次に示します。これらのデバイス情報 (keyboarddisplay、および pointer) は、kdmconfig(1M) -d コマンドを実行して取得したものです。この例では、Solaris インストールプログラムで使用される言語 (system_locale) を選択するプロンプトがインストール前に表示されます。

keyboard=ATKBD {layout=US-English}
display=ati {size=15-inch}
pointer=MS-S
timezone=US/Central
timeserver=connor
terminal=ibm-pc
name_service=NIS {domain_name=marquee.central.sun.com
                  name_server=connor(129.152.112.3)}
root_password=URFUni9

sysidcfg 構成ファイルを作成する方法

  1. エディタを使って新しいファイルを開き、ファイル名を sysidcfg とします。


    注 -

    複数の sysidcfg ファイルを作成する場合は、それぞれのファイルを別のディレクトリまたはフロッピーディスクに格納しなければなりません。


  2. 事前設定したいシステム構成情報の sysidcfg キーワードを入力します。

  3. sysidcfg ファイルを保存します。

  4. 次のディレクトリから sysidcfg ファイルがクライアントに対して使用できるようにします。

    • 共用 NFS ネットワークディレクトリ (add_install_client(1M) コマンドの -p オプションで指定するパス名)

    • 次のフロッピーディスクのルートディレクトリ

      • UFS フロッピーディスク

      • PCFS フロッピーディスク

ネームサービスによる事前設定


SPARC のみ -

SPARC 搭載システムでは、ネームサービス (NIS または NIS+) を編集してシステム構成情報を事前設定します。


次の表は、実行すべき処置の概要を示しています。

設定項目 

編集または生成する必要があるネームサービスデータベース 

ホスト名と IP アドレス 

hosts

日付と時刻 

hosts (インストール対象のシステムに日付と時刻を提供するシステムのホスト名で timehost というホストの別名を持つマシンを使用)

時間帯 

timezone

ネットマスク 

netmasks

システムのロケールを事前設定する手順は、ネームサービスごとに異なります。「NIS を使ってロケールを事前設定する方法」を参照してください。

NIS を使ってロケールを事前設定する方法

  1. ネームサーバー上でスーパーユーザーになって、/var/yp/Makefile ファイルを編集します。

  2. エントリの後に、以下を追加します。

    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
  3. 文字列 all: を検索し、変数リストの最後に locale という語を挿入します。

    all: passwd group hosts ethers networks rpc services protocols ¥
    	netgroup bootparams aliases publickey netid netmasks c2secure ¥
    	timezone auto.master auto.home locale
    
  4. 文字列 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
    
  5. /etc/locale というファイルを作成し、ドメインまたは特定のシステムに対して1つのエントリを作成します。

    locale domain_name
    

    または

    locale system_name
    

    注 -

    付録 B 「言語とロケールの値」 に、有効なロケールのリストを示します。


    たとえば次の行は、worknet.com ドメインに対してデフォルト言語として日本語を指定しています。

    ja worknet.com

    たとえば次の行は、sherlock というシステムに対してデフォルトロケールとして日本語を指定しています。

    ja sherlock 

    注 -

    ロケールは、Solaris 8 SOFTWARE 1 of 2 CD (SPARC) または Solaris 8 SOFTWARE 1 of 2 CD (Intel) に入っています。


  6. マップを作成します。


    # cd /var/yp; make
    

    これでドメインまたは locale マップで個別に指定したシステムは、デフォルトのロケールを使用するように設定されました。ここで指定したデフォルトのロケールは、インストール時に使用されるとともに、システムのリブート後のデスクトップでも使用されます。

NIS+ を使ってロケールを事前設定する方法

この手順は、NIS+ ドメインが設定されていると仮定しています。NIS+ ドメインの設定方法は、『Solaris ネーミングの管理』で説明しています。

  1. ネームサーバーに、スーパーユーザーまたは NIS+ admin グループのユーザーとしてログインします。

  2. 次の nistbladm コマンドを入力します。


    # nistbladm -D access=og=rmcd,nw=r -c locale_tbl name=SI,nogw= locale=, 
    nogw= comment=,nogw= locale.org_dir.`nisdefaults -d`
    

    locale テーブルが作成されます。

  3. 次の nistbladm コマンドを入力して locale テーブルにエントリを追加します。


    # nistbladm -a name=domain_name locale=locale comment=comment 
    locale.org_dir.`nisdefaults -d`
    

    domain_name

    ドメイン名または特定のシステム名。これはデフォルトロケールを事前設定する対象となる 

    locale

    システムにインストールし、システムのリブート後にデスクトップ表示で使用するロケール。使用できるロケール値のリストについては、付録 B 「言語とロケールの値」 を参照

    comment

    コメントフィールド。複数の単語を使ったコメントは、前後を二重引用符で囲むこと 


    注 -

    ロケールは、Solaris 8 SOFTWARE 1 of 2 CD (SPARC) または Solaris 8 SOFTWARE 1 of 2 CD (Intel) に入っています。


    これでドメインまたは locale テーブルで個別に指定したシステムは、デフォルトはロケールを使用するように設定されました。ここで指定したデフォルトのロケールは、インストール時に使用されるとともに、システムのリブート後のデスクトップでも使用されます。

SPARC: 電源管理情報の事前設定

Solaris の電源管理ソフトウェアを使用すると、システムが 30 分間アイドル状態になると自動的にシステム状態を保存し電源を切ることができます。sun4u SPARC システム (および EPA の省電力 (Energy Star) ガイドラインのバージョン 2 に準拠したすべてのシステム) に Solaris ソフトウェアをインストールするときは、デフォルトで電源管理ソフトウェアもインストールされ、インストール後のリブート時に、この電源管理ソフトウェアを有効または無効にするかを尋ねられます。

対話式インストールを実行している場合は、電源管理情報を事前設定してプロンプトを回避する方法はありません。カスタム JumpStart インストールでは、finish スクリプトを使ってシステムに /autoshutdown または /noautoshutdown ファイルを作成することで、電源管理情報を事前設定できます。システムのリブート時に、/autoshutdown は電源管理ソフトウェアを有効にし、/noautoshutdown ファイルは電源管理ソフトウェアを無効にします。

たとえば、finish スクリプトに次の行を入れておくと電源管理ソフトウェアが有効になり、システムリブート後のプロンプトを回避できます。

touch /a/autoshutdown

finish スクリプトの詳細は、「finish スクリプトの作成」を参照してください。