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

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

Solaris インストールプログラムでは、システムをインストールする前に、システムの構成情報 (たとえば、システムの周辺機器、ホスト名、IP アドレス、ネームサービスなど) が必要です。インストールプログラムは、ユーザーに対して情報の入力を要求する前に、この情報が sysidcfg ファイルまたはネームサービスデータベースにあるか (この順番で) 探します。

この章では、システムのインストール時に毎回この情報を入力しなくてすむように、事前に sysidcfg ファイルまたはネームサービスデータベースに情報を設定しておく方法を説明します。たとえば、多数のシステムがあり、それらをインストールするたびにタイムゾーンの入力要求に答えたくない場合は、このタイムゾーンを事前設定しておいて、各インストール時に自動的に設定できます。システム構成情報の事前設定は、カスタム JumpStart インストールを自動化するための最も重要な手順の 1 つです。

事前設定の方法を選択する

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

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

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

事前設定の対象 

プラットフォーム 

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

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

ネームサービス 

ドメイン名 

ネームサーバー 

SPARC/x86 

SPARC/x86 

SPARC/x86 

可能 

可能 

可能 

可能 

不可 

不可 

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

ホスト名 

IP アドレス 

ネットマスク 

SPARC/x86 

 

SPARC/x86 

SPARC/x86 

SPARC/x86 

可能  

 

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

可能 1

可能 

不可 

 

可能 [ Solstice AdminSuiteTM ホストマネージャを使用してクライアントを追加した場合、この情報は自動的に事前構成されます。]

可能 2

不可 

root パスワード 

SPARC/x86 

可能 

不可 

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

SPARC/x86 

可能  

可能 

端末タイプ 

SPARC/x86 

可能 

不可 

時間帯 

SPARC/x86 

可能 

可能 2

日付と時刻 

SPARC/x86 

可能 

可能 

モニタータイプ 

x86 

可能 

不可 

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

x86 

可能 

不可 

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

x86 

可能 

不可 

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

x86 

可能 

不可 

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

SPARC 

不可 

不可 

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

sysidcfg ファイルは、事前設定したい各情報を指定する一連のキーワードによって情報を事前設定します。これらのキーワードについては、表 6-2 で説明します。複数のキーワードを指定して情報を好きなだけ事前設定できます。

sysidcfg ファイルは、構成情報の異なるシステムごとに用意する必要があります。たとえば、すべてのシステムに同じタイムゾーンを設定したい場合は、同じ sysidcfg ファイルを使用できますが、各システムごとに異なるルートパスワードを事前設定したい場合は、各システムごとに sysidcfg ファイルを用意する必要があります。

sysidcfg ファイルは、共用 NFS ネットワークディレクトリまたはシステムのフロッピーディスクドライブの UFS または PCFS フロッピーディスクのルートディレクトリに置くことができます。sysidcfg ファイルを共用 NFS ネットワークディレクトリに置いた場合は、インストール対象のシステムに対して sysidcfg ファイルの格納場所を指定するために、(ネットワーク上でシステムにインストールするときは) add_install_client コマンドの -p オプションを使う必要があります。

sysidcfg ファイルをフロッピーディスクに置いた場合は、システムがブートするときにそのフロッピーディスクがシステムのフロッピーディスクドライブにある必要があります (x86 搭載システムでは、sysidcfg ファイルは Solaris Device Configuration Assistant (デバイス構成用補助) フロッピーディスクに入れてください) 。また、プロファイルフロッピーディスクを使用する場合、sysidcfg ファイルはプロファイルフロッピーディスクに入れてください。


注 -

ディレクトリまたはフロッピーディスクに入れることのできるのは 1 つの sysidcfg ファイルだけです。複数の sysidcfg ファイルを作成した場合は、それぞれのファイルを別のディレクトリまたはフロッピーディスクに格納してください。


構文規則

構文規則 

例 

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

pointer=MS-S

display=ati {size=15-inch}

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

TIMEZONE=US/Central

terminal=PC Console

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

network_interface='none'

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

network_interface=none

network_interface=le0

SPARC: sysidcfg ファイルの例

一連の SPARC 搭載システムのための sysidcfg ファイルの例を次に示します。(これらのシステムのホスト名、IP アドレス、ネットマスクは、ネームサービスを編集することにより、すでに事前設定されています。) すべてのシステム構成情報が事前設定されているので、カスタム 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

x86: sysidcfg ファイルの例

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


keyboard=ATKBD {layout=US-English}
display=ati {size=15-inch}
pointer=MS-S
timezone=US/Central
timeserver=connor
terminal=AT386
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 キーワード (表 6-2 を参照) を入力します。

    表 6-2 sysidcfg キーワード

    構成情報 

    プラットフォーム 

    キーワード 

    値または例の書かれている場所 

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

    SPARC/x86 

    name_service=NIS, NIS+, OTHER, NONE {domain_name=domain_name name_server=hostname(ip_address)}

    name_service=NIS {domain_name=chandy.West.Arp.COM name_server=timber(129.221.2.1)}


    注 -

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


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

    SPARC/x86 

    network_interface=NONE, PRIMARY, value {hostname=host_name ip_address=ip_address netmask=netmask}

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


    注 -

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


    root パスワード 

    SPARC/x86 

    root_password=root_password

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

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

    SPARC/x86 

    system_locale=locale

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

    端末タイプ 

    SPARC/x86 

    terminal=terminal_type

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

    時間帯 

    SPARC/x86 

    timezone=timezone

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

    日付と時刻 

    SPARC/x86 

    timeserver=localhost, hostname, ip_address

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

    モニタータイプ 

    x86 

    monitor=monitor_type

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

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

    x86 

    keyboard=keyboard_language {layout=value}

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

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

    x86 

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

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

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

    x86 

    pointer=pointing_device {nbuttons=number_buttons irq=value}

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

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

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

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

    • PCFS または UFS フロッピーディスクのルートディレクトリ

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

SPARC 搭載システムの場合は、ネームサービス (NIS または NIS+) を編集してシステム構成情報を事前設定することをお勧めします。次の表に、設定する内容の概要を示します。

設定項目 

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

ホスト名と IP アドレス 

hosts

日付と時刻 

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

時間帯 

timezone

ネットマスク 

netmasks

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

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

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

    その他の *.time エントリの後に次のテキストを追加します。


    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
  2. all で始まる行に locale を追加し、新しい行に locale: locale.time を追加します。


    all: passwd group host ethers networks rpc services protocols 
    netgroup bootparams aliases ¥
    timezone locale
    locale: locale.time
    
  3. /etc/locale というファイルを作成し、ドメインごとまたは特定のシステムに対して1つのエントリを作成します。

    locale   domain_name
    

    または

    locale   system_name
    

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

    ja worknet.com

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

    ja sherlock 

    詳細は、付録 E 「言語とロケールの値」 のロケールの有効な値を参照してください。


    注 -

    すべての Solaris CD で、すべてのロケールが使用できるわけではありません。選択したロケールが Solaris CD にある場合は、インストールで使用されます。


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


    # cd /var/yp; make
    

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

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

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

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

  2. 次の nistbladm コマンドを使って、locale テーブルを作成します。


    # nistbladm -D access=og=rmcd,nw=r -c locale_tbl name=SI,nogw= 
    locale=,nogw= comment=,nogw= locale.org_dir.`nisdefaults -d`
    
  3. 次の nistbladm コマンドを入力して locale テーブルにエントリを追加します。


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

    domain_name

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

    locale

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

    comment

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


    注 -

    すべての Solaris CD で、すべてのロケールが使用できるわけではありません。選択したロケールが Solaris CD にある場合は、インストールで使用されます。


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

電源管理情報の事前設定

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

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

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

touch /a/autoshutdown

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