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

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

この章では、システム構成情報の事前設定について説明します。事前に設定を行うと、Solaris オペレーティング環境をインストールする際に、システム構成情報の入力を求めるプロンプトが表示されません。この章では、さらに、電源管理システム情報の事前設定についても説明します。この章の内容は次のとおりです。

システム構成情報を事前設定することの利点

どのインストール方法でも、周辺機器、ホスト名、IP (インターネットプロトコル) アドレス、ネームサービスなどのシステム構成情報が必要です。インストールプログラムは、構成情報の入力を求める前に、まず sysidcfg ファイルの情報を調べ、次にネームサービスデータベースの情報を調べます。

Solaris Web Start プログラム、Solaris 8 対話式インストールプログラム、およびカスタム JumpStart インストールプログラムは、事前設定されたシステム構成情報を検出すると、その情報の入力を求めることはありません。たとえば、複数のシステムに Solaris 8 ソフトウェアをインストールする場合、インストールのたびに時間帯を入力しないようにするには、時間帯を sysidcfg ファイル中またはネームサービスデータベース中に指定します。そうすれば、Solaris 8 ソフトウェアのインストールで時間帯の入力は求められません。

システム構成情報の事前設定方法

システム構成情報を事前設定するには、2 つの方法があります。システム構成情報は以下の場所に設定できます。


SPARC のみ –

SPARC ベースシステムの場合は、ネームサービスデータベースを編集することによってシステム構成情報の事前設定を行います。


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

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

事前設定できるシステム構成情報 

プラットフォーム 

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

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

ネームサービス 

SPARC/IA 

可能 

可能 

ドメイン名 

SPARC/IA 

可能 

不可 

ネームサーバー 

SPARC/IA 

可能 

不可 

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

SPARC/IA 

可能 

不可 

ホスト名 

SPARC/IA 

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

可能 

IP アドレス 

 

SPARC/IA 

可能

 

可能 

ネットマスク 

SPARC/IA 

可能 

不可 

DHCP 

SPARC/IA 

可能 

不可 

IPv6 

SPARC/IA 

可能 

不可 

デフォルトルート 

SPARC/IA 

可能 

不可 

root パスワード 

SPARC/IA 

可能 

不可 

セキュリティポリシー 

SPARC/IA 

可能 

不可 

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

SPARC/IA 

可能 

NIS または NIS+ の場合、可能 

DNS または LDAP の場合、不可 

端末タイプ 

SPARC/IA 

可能 

不可 

時間帯 

SPARC/IA 

可能 

可能 

日付と時刻 

SPARC/IA 

Yes 

可能 

モニタータイプ 

IA 

Yes 

不可 

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

IA 

可能 

不可 

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

IA 

可能 

不可 

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

IA 

可能 

不可 

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

SPARC 

不可 

不可 

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

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

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

sysidcfg ファイルは、次のどちらかに置くことができます。


注 –

1 つのディレクトリまたはフロッピーディスクには、1 つの sysidcfg ファイルだけを入れることができます。複数の sysidcfg ファイルを作成する場合は、各ファイルを異なるディレクトリまたは異なるフロッピーディスクに置く必要があります。


sysidcfg ファイルの構文規則

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

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

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

構文規則 

例 

非依存型キーワードは任意の順序で指定可能 

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

sysidcfg ファイルキーワード

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

表 7–2 sysidcfg キーワード

構成情報 

プラットフォーム 

キーワード 

使用例または設定値 

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

SPARC/IA 

name_service=NIS, NIS+, DNS, LDAP, 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 キーワードのどちらか一方または両方を設定するか、あるいはどちらも含めません。どちらのキーワードも使用しない場合、中括弧 { } は省略します。


  

LDAP 用オプション:{domain_name=domain_name profile=profile_name profile_server=ip_address}

name_service=LDAP {domain_name=west.arp.com profile=default profile_server=129.221.2.1}

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

SPARC/IA 

network_interface=NONE, PRIMARY, value

値の説明:

  • NONE はネットワークを無効にします。

  • PRIMARY は、システム上に存在するインタフェースの中で最初に稼動する非ループバックインタフェースです。順序は “ifconfig” の場合と同様に、稼動しているインタフェースが存在しない場合には最初の非ループバックインタフェースが使用されることになります。非ループバックインタフェースが見つからない場合は、システムは NON-NETWORKED に設定されます。

  • value には、le0 や hme0 などのインタフェースを指定します。

  
     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 default_route=129.146.88.1 ip_address=129.146.88.210 netmask=255.255.0.0 protocol_ipv6=no}


注 –

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



注 –

DHCP を使用しない場合、protocol_ipv6default_route は指定する必要がありません。ただし、JumpStart インストールの場合、この時点で 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 は完全修飾ドメイン名です。

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


注 –

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


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

SPARC/IA 

system_locale=locale

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

端末タイプ 

SPARC/IA 

terminal=terminal_type

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

時間帯 

SPARC/IA 

timezone=timezone

有効な時間帯値が /usr/share/lib/zoneinfo ディレクトリのサブディレクトリとファイルにある。時間帯値は /usr/share/lib/zoneinfo ディレクトリからの相対パス名です。たとえば、米国の山岳部標準時の時間値は US/Mountain です。日本の時間帯値は Japan です。また、有効な Olson 時間帯も指定できます。

日付と時刻 

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 ファイルに追加されます。

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

  1. テキストエディタを使って sysidcfg という名前のファイルを作成します。

  2. 必要な sysidcfg のキーワードを入力します。

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


    注 –

    複数の sysidcfg ファイルを作成する場合は、それぞれのファイルを別々のディレクトリまたは別々のフロッピーディスクに保存する必要があります。


  4. クライアントから次のファイルシステムまたはディレクトリを介して sysidcfg ファイルにアクセスできるようにします。

    • 共有 NFS ファイルシステム。システムがネットワーク上でインストールできるように設定する際に、add_install_client(1M)-p オプションで指定します。

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

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

x86: sysidcfg ファイルの例

一連の IA システムで、キーボード、グラフィックスカード、ポインティングデバイスがすべて同じ場合の sysidcfg ファイルの例を次に示します。これらのデバイス情報 (keyboarddisplaypointer) は、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

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

次の表は、システム構成情報を事前設定するために編集および入力を行う必要があるネームサービスデータベースの概要を示したものです。

事前設定するシステム情報 

ネームサービスデータベース 

ホスト名と IP アドレス 

hosts

日付と時刻 

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

時間帯 

timezone

ネットマスク 

netmasks

DNS や LDAP のネームサービスでは、システムのロケールを事前設定することはできません。NIS や NIS+ のネームサービスを使用する場合は、そのネームサービスの手順に従ってシステムのロケールを事前設定してください。

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

  1. ネームサーバー上でスーパーユーザーになります。

  2. /var/yp/Makefile ファイルを編集して、ローカルマップを追加します。

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

      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 という語を挿入します。

      all: passwd group hosts ethers networks rpc services protocols \
      	netgroup bootparams aliases publickey netid netmasks c2secure \
      	timezone auto.master auto.home locale
      
    3. 文字列 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
      
    4. ファイルを保存します。

  3. /etc/locale というファイルを作成し、ドメインまたは特定のシステムに対して1つのエントリを作成します。

    locale domain_name
    

    または

    locale system_name
    

    注 –

    使用できるロケール値のリストについては、第 38 章「言語とロケールの値」を参照。


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

    ja worknet.com

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

    ja charlie 

    注 –

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


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


    # cd /var/yp; make
    

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

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

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

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

  2. locale テーブルを作成します。


    # nistbladm -D access=og=rmcd,nw=r -c locale_tbl name=SI,nogw= 
    locale=,nogw= comment=,nogw= locale.org_dir.`nisdefaults -d` 
    
  3. locale に必要なエントリを追加します。


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

    このコマンド行では :

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

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

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


    注 –

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


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

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

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

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

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

touch /a/autoshutdown

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