Solaris 9 安裝指南

第 7章 預先配置系統配置資訊(工作)

本章說明如何預先配置系統資訊。預先配置可協助您在安裝 Solaris 作業環境時略過此資訊的提示。本章同時說明如何預先配置 Power ManagementTM 資訊。本章包含以下小節:

預先配置系統配置資訊的優點

此安裝方法需要關於系統的資訊,例如周邊裝置、主機名稱、網際網路協定 (IP) ,以及名稱服務。安裝工具在提示您輸入配置資訊之前,會檢查sysidcfg 檔案和名稱服務資料庫中的資訊。

當 Solaris Web Start 程式、Solaris suninstall 程式 或自訂 JumpStart 安裝程式偵測到預先配置的系統資訊時,安裝程式將不再提示您輸入資訊。例如,您擁有數個系統,並且不想讓系統每當您在其中一個系統上安裝 Solaris 9 軟體時均給您時區提示。您可以在 sysidcfg 檔案或服務資料庫中指定時區。當您安裝 Solaris 9 軟體時,安裝程式將不會提示您輸入時區。

預先配置系統配置資訊的方法

您可以選擇下列其中一種方法來預先配置系統配置資訊。您可以在下列物件中增加系統配置資訊。

請使用下表來決定使用何種方法來預先配置系統配置資訊。

表 7-1 預先配置系統配置資訊的方法

可預先配置的系統資訊 

是否可使用 sysidcfg 檔案進行預先配置?

是否可使用名稱服務進行預先配置?

名稱服務 

是  

是  

網域名稱  

是 

否  

名稱伺服器 

是 

否  

網路介面 

是  

否  

主機名稱  

1

是 

網際網路協定 (IP) 位址 

1

是  

網路遮罩 

是 

否  

DHCP  

是 

否  

IPv6  

是 

否  

預設路由器 

是  

否  

超級使用者密碼  

是  

否  

安全性策略 

是  

否  

顯示安裝程式和桌上管理系統的語言(語言環境)。 

是  

是,若為 NIS 或 NIS + 

否,若為 DNS 或 LDAP 

終端機類型 

是  

否  

時區 

是  

是 

日期和時間 

是  

是 

電源管理(自動停機)2

否  

否  

  1. 由於這是屬於特定系統的資訊,所以您應該編輯名稱服務,而不是為每個系統建立不同的 sysidcfg 檔案。

  2. 您不能透過 sysidcfg 檔案或名稱服務來預先配置此系統配置資訊。"預先配置電源管理資訊" 包含詳細資訊。

使用 sysidcfg 檔案進行預先配置

您可以在 sysidcfg 檔案中指定一組關鍵字來預先配置系統。您可以在 表 7-2 中找到關鍵字的說明。

您必須為每個需要不同配置資訊的系統建立唯一的 sysidcfg 檔案。如果您想為所有的系統指定相同的時區,可以使用相同的 sysidcfg 檔案在一組系統上預先配置時區。不過,如果您想為這些系統預先配置不同的 root(超級使用者)密碼,則必須為每個系統建立唯一的 sysidcfg 檔案。

您可以將 sysidcfg 檔案放置在下列其中一種物件中。


註解 -

如果您要執行自訂 JumpStart 安裝,並且想要使用磁片上的 sysidcfg 檔案,則必須將 sysidcfg 檔案放置在設定檔磁片上。如果要建立設定檔磁片,請參閱"建立獨立系統的設定檔磁片"


在一個目錄或一張磁片上,您只能放置一個 sysidcfg 檔案。如果您要建立一個以上的 sysidcfg 檔案,則必須將每個檔案放置在不同的目錄或不同的磁片上。

sysidcfg 檔案的語法規則

您可以在 sysidcfg 檔案中使用兩種關鍵字:獨立和相依。只有在獨立關鍵字中,才能保證相依關鍵字為唯一的。相依關鍵字必須藉由與其相關聯的獨立關鍵字來識別才得以存在。

在此範例中,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

在所有的相依關鍵字外須加上大括號 ({}),以將其和相關聯的獨立關鍵字結合在一起。 

name_service=NIS 

       {domain_name=marquee.central.sun.com

        name_server=connor(129.152.112.3)}

數值可以選擇性地用單引號 (`) 或雙引號 (") 框起來。 

network_interface='none'

只有一個關鍵字實例有效。如果您指定關鍵字的次數超過一次,則只會使用第一個關鍵字實例。 

network_interface=none

network_interface=le0

sysidcfg 檔案關鍵字

下表說明您可在 sysidcfg 檔案中使用的關鍵字。

表 7-2 您可在 sysidcfg 中使用的關鍵字

配置資訊 

關鍵字 

值或範例 

名稱服務、網域名稱、名稱伺服器 

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(最多三個) search=domain_name, domain_name,domain_name, domain_name,domain_name, domain_name(最多六個,總長度少於或等於 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 值。視需要包含 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 

network_interface=NONE, PRIMARY, or 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 default_route=ip_address 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 值。視需要包含 hostnameip_addressnetmask 關鍵字的任何組合,或全都不包含。如果您不使用任何關鍵字,請刪去大括號 ({})。



註解 -

如果您不使用 DHCP,則不需要指定 protocol_ipv6default_route。但是,JumpStart 安裝需要您現在指定 protocol_ipv6,否則系統將在稍後以互動方式提示您。


超級使用者密碼  

root_password= root_password

/etc/shadow 進行加密。

安全性策略 

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}


註解 -

您最多可列出三個鍵分配中心 (KDC),但至少會需要一個。


顯示安裝程式和桌上管理系統的語言 

system_locale=locale

/usr/lib/locale 目錄或 第 40章, 語言環境值(參考) 可提供有效的語言環境值。

終端機類型 

terminal= terminal_type

/usr/share/lib/terminfo 目錄中的子目錄可提供有效的終端機值。

時區 

timezone= timezone

/usr/share/lib/zoneinfo 目錄中的目錄和檔案可提供有效的時區值。該時區值就是相對於 /usr/share/lib/zoneinfo 目錄的路徑名稱。例如,美國山地標準時區的時區值為 US/Mountain。日本的時區值為 Japan。您也可以指定任何有效的 Olson 時區。

日期和時間 

timeserver=localhost, hostname, ip_addr

如果您將 localhost 指定為時間伺服器,系統時間將視為正確的時間。如果您未執行名稱服務,而指定了某系統的 hostnameip_addr,則此系統的時間將會用來設定時間。

如果要 sysidcfg 配置檔案

  1. 使用文字編輯程式來建立一個稱為 sysidcfg 的檔案。

  2. 輸入您要的 sysidcfg 關鍵字。

  3. 儲存 sysidcfg 檔案。


    註解 -

    如果您建立超過一個的 sysidcfg 檔案,則必須將每個檔案儲存在不同的目錄或磁片中。


  4. 請使用下列物件將 sysidcfg 檔案提供給用戶端:

    • 共用的 NFS 檔案系統。使用帶 -p 選項的 add_install_client(1M) 來設定系統,以從網路上安裝。

    • UFS 磁片上的根 (/) 目錄。

sysidcfg 檔案之範例

以下為 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

使用名稱服務進行預先配置

下表提供需要編輯和總裝的名稱服務資料庫的高階概述,可供您預先配置系統資訊。

預先配置的系統資訊 

名稱服務資料庫 

主機名稱和網際網路協定 (IP) 位址 

hosts

日期和時間 

hosts。 在系統主機名稱旁邊指定 timehost 別名,為要安裝的系統提供日期與時間。

時區 

timezone

網路遮罩 

netmasks

您無法以 DNS 或 LDAP 名稱服務來預先配置系統的語言環境。如果您使用的是 NIS 或 NIS+ 名稱服務,請遵循名稱服務的程序來預先配置系統的語言環境:

如果要使用 NIS 來預先配置語言環境

  1. 成為名稱伺服器上的超級使用者。

  2. 變更 /var/yp/Makefile 來增加本機對映。

    1. 在最後的 variable .time shell 程序之後插入此 shell 程序。

      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 並為每個網域或特定系統製作一個登錄:

    locale domain_name
    

    或是

    locale system_name
    

    註解 -

    第 40章, 語言環境值(參考) 包含有效語言環境的清單。


    例如,以下的登錄會指定法文為使用在 worknet.com 網域中的預設語言:

    fr worknet.com

    以下的登錄會指定比利時法文為 charlie 系統所使用的預設語言環境:

    fr_BE charlie 

    註解 -

    可在 Solaris 9 DVD 或 Solaris 9 Software 2 之 2 CD 上取得語言環境。


  4. 製作對映:


    # cd /var/yp; make
    

    由網域指定或在 locale 圖中所個別指定的系統,現在將設定成使用預設語言環境。您所指定的預設語言環境會在安裝期間使用,並在系統重新開機之後由桌上管理系統所使用。

如果要使用 NIS+ 預先配置語言環境

以下程序假設已設定 NIS+ 網域。NIS+ 網域的設定已刊載在 System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP) 之中。

  1. 以超級使用者或 NIS+ 管理群組使用者的身份登入名稱伺服器。

  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

    您要安裝在系統上,並在系統重新開機之後在桌上管理系統中使用的語言環境。第 40章, 語言環境值(參考) 包含有效語言環境的清單。

    comment

    註釋欄。在長度超過一個字的註釋起始和結尾處加上雙引號。 


    註解 -

    可在 Solaris 9 DVD 或 Solaris 9 Software 2 之 2 CD 上取得語言環境。


    由網域指定或在 locale 表格中所個別指定的系統,現在將設定成使用預設語言環境。您所指定的預設語言環境會在安裝期間使用,並在系統重新開機之後由桌上管理系統所使用。

預先配置電源管理資訊

您可以使用由 Solaris 環境所提供的電源管理軟體來自動儲存系統狀態,並在系統閒置超過 30 分鐘之後將其關閉。當您在符合 EPA's Energy Star 規範第 2 版的系統上(例如 sun4u 系統)安裝 Solaris 9 軟體時,「電源管理」為預設安裝的軟體。系統在重新開機之後會提示您要啟用或停用「電源管理」軟體。

如果您執行的是互動式的安裝,則無法預先配置「電源管理」資訊,並略過提示。不過,藉由自訂的 JumpStart 安裝,您可以使用結束程序檔預先配置「電源管理」資訊,以在系統上建立 /autoshutdown /noautoshutdown 檔案。當系統重新開機時,/autoshutdown 檔案可啟用「電源管理」,而 /noautoshutdown 檔案可停用「電源管理」。

例如,下列結束程序檔中的行會啟用「電源管理」軟體,並在系統重新開機之後略過提示顯示。

touch /a/autoshutdown

您可在 "建立結束程序檔" 中找到結束程序檔的說明。