Solaris 10 安裝指南:Solaris Live Upgrade 與升級規劃

第 III 部分 附錄

本部分提供參考資訊。

附錄 A 疑難排解 (作業)

本章包含您在安裝 Solaris 10 軟體時可能會遇到的特定錯誤訊息和一般問題之清單。還說明如何修正這些問題。請從使用此章節清單開始,確定安裝程序中出現問題的位置。


備註 –

當您看到「可啟動媒體」的本書使用慣例時,表示這是 Solaris 安裝程式和 JumpStart 安裝方法。


設定網路安裝時出現的問題


Unknown client「host_name」(未知的用戶端 「host_name」)

原因:

add_install_client 指令中的 host_name 引數不是名稱服務中的主機。

說明:

將主機 host_name 增加到名稱服務,然後再次執行 add_install_client 指令。

啟動系統時出現的問題

從媒體啟動,錯誤訊息


le0: No carrier - transceiver cable problem (le0:無載波 - 收發器電纜問題)

原因:

系統未連接至網路。

解決方案:

如果是非網路的系統,請忽略此訊息。如果是網路的系統,請確保乙太網路電纜連接穩固。


The file just loaded does not appear to be executable (剛載入的檔案似乎無法執行)

原因:

系統找不到正確的媒體來啟動。

解決方案:

確認是否已將系統正確設定為從安裝伺服器經由網路安裝 Solaris 10 軟體。下列是您可執行之檢查的範例。

  • 如果您已經將 Solaris Operating System DVD 或 Solaris Software CD 的影像複製到安裝伺服器上,當您進行系統設定時,請確認已指定了正確的平台群組。

  • 如果您使用的是 DVD 或 CD 媒體,請確認 Solaris Operating System DVD 或 Solaris Software - 1 CD 已掛載到安裝伺服器上,並且可供存取。


boot: cannot open <filename> (啟動:無法開啟 <filename>)(僅限 SPARC 系統)

原因:

當您透過明確設定來覆寫 boot -file 的位置時,便會發生此錯誤。


備註 –

filename 是一項變數,代表受影響檔案的名稱。


解決方案:

請遵循下列操作指示:

  • 將 PROM 中的 boot -file 重設為 “ “ (空白)。

  • 確保 diag-switch 已設定為關閉和真 (true)。


Can't boot from file/device (無法從檔案/裝置啟動)

原因:

安裝媒體找不到可開機媒體。

解決方案:

確保滿足下列條件:

  • 已正確安裝並開啟了 DVD-ROM 光碟機或 CD-ROM 光碟機。

  • Solaris Operating System DVD 或 Solaris Software - 1 CD 已插入光碟機中。

  • 光碟沒有污損。


WARNING: clock gained xxx days -- CHECK AND RESET DATE! (警告:時鐘快 xxx 天 -- 請檢查並重設日期!)(僅限 SPARC 系統)

說明:

此訊息僅供參考。

解決方案:

請忽略此訊息,繼續安裝。


Not a UFS file system (不是 UFS 檔案系統) (僅限 X86 系統)

原因:

安裝 Solaris 10 軟體時 (透過 Solaris 安裝程式或自訂 JumpStart),未選取開機磁碟。現在必須使用 Solaris 10 3/05 Device Configuration Assistant 磁片或編輯 BIOS 來啟動系統。

解決方案:

請遵循下列操作指示:

從媒體啟動,一般問題


系統沒有啟動。

說明:

當初始設定自訂 JumpStart 伺服器時,可能會遇到沒有傳回錯誤訊息的啟動問題。若要確認有關系統及系統啟動方式的資訊,請使用 -v 選項執行啟動指令。當您使用 -v 選項時,啟動指令會顯示關於螢幕的詳細除錯資訊。


備註 –

如果未指定此旗標,仍然會列印該訊息,但輸出會指向到系統記錄檔。如需更多資訊,請參閱「syslogd(1M) 線上手冊」。


解決方案:

若為 SPARC 系統,請在出現 ok 提示符號時,鍵入下列指令。


ok boot net -v - install

若為 x86 的系統,當安裝程式提示您「選取安裝類型」時,請鍵入下列指令。


b - -v install 

在使用 Toshiba SD—M 1401 DVD-ROM 的系統上,從 DVD 媒體啟動失敗

說明:

如果您的系統中有使用韌體修訂版 1007 的 Toshiba SD-M1401 DVD-ROM,則該系統無法從 Solaris Operating System DVD 啟動。

解決方案:

套用修補程式 111649–03 或更高版本,以更新 Toshiba SD-M1401 DVD-ROM 光碟機的韌體。您可以從 sunsolve.sun.com 取得修補程式 111649–03。


插入非記憶體 PC 卡時,系統會掛起或當機。(僅限 x86 系統)

原因:

非記憶體 PC 卡無法使用其他裝置所使用的相同記憶體資源。

解決方案:

若要校正此問題,請參閱您 PC 卡的說明,並檢查位址範圍。


在預先啟動階段,Solaris 10 3/05 Device Configuration Assistant 磁片未偵測到您系統上的 IDE BIOS 主磁碟機。(僅限 x86 系統)

解決方案:

請遵循下列操作指示:

  • 如果您使用的是舊的磁碟機,它們可能不受支援。請查閱硬體製造商提供的說明文件。

  • 確定排線及電源線皆已正確連接。請查閱製造商提供的說明文件。

  • 如果只有一個磁碟機連接在控制器上,請透過設定跳線,將此磁碟機指定為主磁碟機。有些磁碟機要設定成單一主磁碟機,有不同的跳線設定,這相對於主磁碟機與從屬磁碟機作業的情形。請將磁碟機連接至電纜末端的連接器,以減少因閒置連接器吊在電纜末端而產生的訊號聲響。

  • 如果有兩個磁碟機連接在控制器上,請將其中一個跳線設定為主磁碟機 (或與從屬磁碟機一同作業的主磁碟機),將另一個跳線設定為從屬磁碟機。

  • 如果一個是硬碟機而另一個是 CD-ROM 光碟機,請透過設定跳線,將一個磁碟機指定為從屬磁碟機。您可以將任一個實體磁碟機指定為從屬磁碟機。

  • 如果在單一控制器連接有兩個磁碟機的情況下,此問題仍然存在,請一次連接一個磁碟機,以檢驗每個磁碟機的工作情況。設定跳線將磁碟機設定為主磁碟機或單一主磁碟機,然後使用 IDE 排線末端的磁碟機連接器來連接該磁碟機。確認每個磁碟機皆正常運作,然後將磁碟機跳線重設回到主磁碟機和從屬磁碟機配置。

  • 如果是硬碟機,請使用 BIOS 設定公用程式來確保該磁碟機類型 (指示磁柱、磁頭及磁區的數目) 配置正確。有些 BIOS 軟體可能具有自動偵測磁碟機類型的功能。

  • 如果是 CD-ROM 光碟機,請使用 BIOS 設定畫面,將磁碟機類型配置為 CD-ROM 光碟機,前提是 BIOS 軟體支援這項功能。

  • 對於許多系統,如果已安裝 MS-DOS CD-ROM 驅動程式,則僅有 MS-DOS 識別 IDE CD-ROM 光碟機。嘗試使用其他磁碟機。


在預先啟動階段,Solaris 10 3/05 Device Configuration Assistant 磁片在您的系統上未找到 IDE 磁碟機或 CD-ROM 光碟機。(僅限 x86 系統)

解決方案:

請遵循下列操作指示:


系統在顯示系統提示前掛起。(僅限 x86 系統)

解決方案:

系統中存在不支援的硬體。請查閱硬體製造商提供的說明文件。

從網路啟動,錯誤訊息


WARNING: getfile: RPC failed: error 5 (RPC Timed out) (警告:getfile:RPC 失敗:錯誤 5 (RPC 逾時))。

說明:

當網路上有兩個或更多伺服器回應安裝用戶端的啟動請求時,便會發生此錯誤。此安裝用戶端連接至錯誤的啟動伺服器,而且安裝掛起。以下特定的原因可能導致此錯誤的發生:

原因:

原因 1:/etc/bootparams 檔案可能存在於包含此安裝用戶端項目之不同伺服器上。

解決方案:

原因 1:請確定網路上的伺服器沒有此安裝用戶端的多個 /etc/bootparams 項目。如果確有多個項目,除要讓安裝用戶端使用的伺服器外,請移除所有安裝伺服器與啟動伺服器上 /etc/bootparams 檔案中重複的用戶端項目。

原因:

原因 2:此安裝用戶端可能存在多個 /tftpboot/rplboot 目錄項目。

解決方案:

原因 2:請確定網路上的伺服器沒有此安裝用戶端的多個 /tftpboot/rplboot 目錄項目。如果確定有多個項目,除了要讓安裝用戶端使用的伺服器以外,請移除所有安裝伺服器與啟動伺服器上 /tftpboot/rplboot 目錄中重複的用戶端項目。

原因:

原因 3:安裝用戶端項目可能存在於伺服器上的 /etc/bootparams 檔案中,但還有一個項目位於另一個可讓所有系統存取設定檔伺服器的 /etc/bootparams 檔案中。此項目如下所示:

* install_config=profile_server:path

NIS 或 NIS+ bootparams 表格中類似以上項目的一行內容,也會導致此錯誤發生。

解決方案:

原因 3:如果名稱服務 bootparams 對映或表格中有萬用字元項目 (例如,* install_config=),請先刪除它後再將它增加到啟動伺服器的 /etc/bootparams 檔案中。


No network boot server (無網路啟動伺服器。)Unable to install the system (無法安裝系統。)請參閱安裝說明。(僅限 SPARC 系統)

原因:

此錯誤會發生在您嘗試從網路安裝的系統上。該系統的設定不正確。

解決方案:

請確保您將系統正確設定為從網路安裝。請參閱「Solaris 10 安裝指南:網路安裝」中的「使用 CD 影像增加要從網路安裝的系統」


prom_panic: Could not mount file system (prom_panic:無法掛載檔案系統) (僅限 SPARC 系統)

原因:

從網路安裝 Solaris,但啟動軟體找不到下列內容時,便會發生此錯誤:

  • Solaris Operating System DVD,可以是安裝伺服器上的 DVD 或是 DVD 影像的副本

  • Solaris Software - 1 CD 影像,可以是安裝伺服器上的 Solaris Software - 1 CD 或是 CD 影像的副本

解決方案:

請確保已掛載並共用該安裝軟體。

  • 如果要從安裝伺服器的 DVD-ROM 光碟機或 CD-ROM 光碟機安裝 Solaris,請確保已將 Solaris Operating System DVD 或 Solaris Software - 1 CD 插入到 CD-ROM 光碟機中,並掛載於 /etc/dfs/dfstab 檔案中,且可以共用。

  • 如果從安裝伺服器磁碟上的 Solaris Operating System DVD 影像或 Solaris Software - 1 CD 影像的副本安裝,請確保 /etc/dfs/dfstab 檔案中已共用該副本的目錄路徑。


Timeout waiting for ARP/RARP packet... (等待 ARP/RARP 資料分封逾時...)(僅限 SPARC 系統)

原因:

原因 1:用戶端正在嘗試從網路啟動,但是找不到能夠辨認該用戶端的系統。

解決方案:

原因 1:確認 NIS 或 NIS+ 名稱服務中有該系統的主機名稱。同時確認啟動伺服器之 /etc/nsswitch.conf 檔案中的 bootparams 搜尋順序。

例如,/etc/nsswitch.conf 檔案中的下列行指出 JumpStart 或 Solaris 安裝程式會先檢查 NIS 對映,以取得 bootparams 資訊。如果程式找不到任何資訊,安裝程式會在啟動伺服器的 /etc/bootparams 檔案中查找。

bootparams: nis files
原因:

原因 2:用戶端的乙太網路位址不正確。

解決方案:

原因 2:確認安裝伺服器的 /etc/ethers 檔案中,用戶端乙太網路位址正確。

原因:

原因 3:在自訂 JumpStart 安裝中,add_install_client 指令會指定使用指定伺服器做為安裝伺服器的平台群組。在使用 add_install_client 時,如果使用錯誤的架構值,則會發生此問題。例如,您要安裝的機器為 sun4u,但使用的卻是 i86pc。

解決方案:

原因 3:使用正確的架構值重新執行 add_install_client


ip: joining multicasts failed on tr0 - will use link layer broadcasts for multicast (ip:在 tr0 上結合多址傳送時失敗 - 將使用連結層廣播進行多址傳送) (僅限 x86 系統)

原因:

當您使用記號環卡啟動系統時,會顯示此錯誤訊息。乙太網路的多址傳送與記號環卡的多址傳送運作方式不同。該驅動程式會傳回此錯誤訊息,因為您提供了無效的多址傳送位址。

解決方案:

請忽略此錯誤訊息。如果多址傳送無法進行,IP 會使用層廣播,這樣不會造成安裝失敗。


Requesting Internet address for Ethernet_Address (請求 Ethernet_Address 的網際網路位址) (僅限 x86 系統)

原因:

用戶端正在嘗試從網路啟動,但是找不到能夠辨認該用戶端的系統。

解決方案:

請確認名稱服務中有該系統的主機名稱。如果系統的主機名稱有列在 NIS 或 NIS+ 名稱服務中,但系統仍然列印此錯誤訊息,請重新啟動。


RPC: Timed out No bootparams (whoami) server responding; still trying... (RPC:逾時,bootparams (whoami) 伺服器無回應;仍在嘗試...)(僅限 x86 系統)

原因:

用戶端正嘗試從網路啟動,但透過安裝伺服器上 /etc/bootparams 檔案中的項目找不到系統。

解決方案:

使用安裝伺服器上的 add_install_client。使用此指令在 /etc/bootparams 檔案中增加適當的項目,讓用戶端可從網路啟動。


Still trying to find a RPL server... (仍在嘗試尋找 RPL 伺服器...)(僅限 x86 系統)

原因:

系統正在嘗試從網路啟動,但該伺服器並未設定為啟動此系統。

解決方案:

在安裝伺服器上,對要安裝的系統執行 add_install_clientadd_install_client 指令會設定一個 /rplboot 目錄,其中包含必要的網路啟動程式。


CLIENT MAC ADDR: FF FF FF FF FF FF (僅限使用 DHCP 的網路安裝)

原因:

未正確配置 DHCP 伺服器。如果在 DHCP 管理程式軟體中未正確定義選項或巨集,可能出現此錯誤。

解決方案:

在 DHCP 管理程式軟體中,請確認已正確定義選項與巨集。確認已定義 [路由器] 選項,並確認 [路由器] 選項的值對於要用於網路安裝的子網路來說恰當。

從網路啟動,一般問題


系統從網路啟動,而不是從指定的安裝伺服器系統啟動。

原因:

/etc/bootparams 項目,也可能是 /etc/ethers 的項目,位於用戶端的另一個系統上。

解決方案:

在名稱伺服器上,更新要安裝之系統的 /etc/bootparams 項目。該項目應符合以下語法:

install_system root=boot_server:path install=install_server:path

另外,請確保安裝用戶端的子網路上只有一個 bootparams 項目。


系統不是從網路啟動 (僅限使用 DHCP 的網路安裝)。

原因:

未正確配置 DHCP 伺服器。如果系統並未配置成 DHCP 伺服器的安裝用戶端,即可能發生此錯誤。

解決方案:

請確認已在 DHCP 管理員軟體中,為用戶端系統定義了安裝選項和巨集。如需更多資訊,請參閱「Solaris 10 安裝指南:網路安裝」中的「使用 DHCP 服務預先配置系統配置資訊 (作業)」

Solaris 作業系統的初始安裝


初始安裝失敗

解決方案:

如果 Solaris 安裝失敗,您必須重新開始安裝。若要重新開始安裝,請從 Solaris Operating System DVD、Solaris Software - 1 CD 或從網路啟動系統。

在已安裝部分軟體後,您無法解除安裝 Solaris 軟體,必須從備份回復系統,或重新開始 Solaris 安裝程序。


/cdrom/Solaris_10/SUNWxxxx/reloc.cpio: 管道中斷

說明:

此錯誤訊息僅供參考,不影響安裝。當在不具有讀取程序的管道上進行寫入動作時,便會發生此錯誤。

解決方案:

請忽略此訊息,繼續安裝。


WARNING: CHANGE DEFAULT BOOT DEVICE (警告:變更預設開機裝置) (僅限 x86 系統)

原因:

此訊息僅供參考。在 BIOS 中設定的預設開機裝置可能會要求使用 Solaris 10 3/05 Device Configuration Assistant 磁片來啟動系統。

解決方案:

繼續安裝,如有必要,請在 Solaris 軟體安裝完成之後,將 BIOS 中指定的系統預設開機裝置變更為不需要使用 Solaris 10 3/05 Device Configuration Assistant 磁片的裝置。

Procedurex86: 檢查 IDE 磁碟是否有壞區塊

與其他 Solaris 軟體支援的磁碟機不同,IDE 磁碟機不會自動對映出壞的區塊。在 IDE 磁碟上安裝 Solaris 之前,您可能需要執行磁碟表面分析。若要在 IDE 磁碟上執行表面分析,請執行以下程序。

步驟
  1. 啟動至安裝媒體。

    • 若為 Solaris 10 3/05 發行版本,請以單一使用者模式從媒體啟動。


       # b -s
      
    • 從 Solaris 10 1/06 發行版本開始,請執行以下步驟。

      1. 從安裝媒體啟動。

      2. 提示選取安裝類型時,請選取選項 6,單一使用者 shell。

  2. 啟動 format(1M) 程式。


    # format
    
  3. 指定要執行表面分析的 IDE 磁碟機。


    # cxdy
    
    cx

    是控制器編號

    dy

    是裝置編號

  4. 確認是否具有 fdisk 分割區。

    • 如果 Solaris fdisk 分割區已經存在,請繼續進行步驟 5

    • 如果 Solaris fdisk 分割區不存在,請使用 fdisk 指令在磁碟上建立 Solaris 分割區。


      format> fdisk
      
  5. 如果要開始進行表面分析,請鍵入:


    format> analyze
    
  6. 決定目前設定,請鍵入:


    analyze> config
    
  7. (可選擇) 要變更設定,請鍵入:


    analyze> setup
    
  8. 要尋找壞區塊,請鍵入:


    analyze> type_of_surface_analysis
    
    type_of_surface_analysis

    是讀取、寫入或比對

    如果 format 找到壞區塊,會重新對映這些區塊。

  9. 要退出分析,請鍵入:


    analyze> quit
    
  10. 決定是否指定要重新對映的區塊。

    • 如果不指定,請前往步驟 11

    • 如果要指定,請鍵入:


      format> repair
      
  11. 要退出格式化程式,請鍵入:


    quit
    
  12. 以多使用者模式重新啟動媒體。

    • 若為 Solaris 10 3/05 發行版本,請鍵入下列指令。


      ok b
      
    • 從 Solaris 10 1/06 發行版本開始,請鍵入下列指令。


      # exit
      

升級 Solaris 作業系統

升級,錯誤訊息


無可升級的磁碟

原因:

/etc/vfstab 檔案中的交換項目造成升級失敗。

解決方案:

/etc/vfstab 檔案中的下列各行標記為註釋:

  • 磁碟上不進行升級的所有交換檔與磁碟片段

  • 不再出現的交換檔

  • 所有未使用的交換磁碟片段


找不到 usr/bin/bzcat

原因:

Solaris Live Upgrade 失敗,因為需要修補程式叢集。

解決方案:

安裝 Solaris Live Upgrade 需要修補程式。請參閱 http://sunsolve.sun.com,確定您有最近更新的修補程式清單。在 SunSolve 網站上搜尋資訊文件 72099。


已找到可升級的 Solaris 根裝置,但找不到合適的分割區來儲存 Solaris 安裝軟體。不能使用 Solaris 安裝程式進行升級。可能可以使用 Solaris Software 1 CDROM 進行升級。(僅限 X86 系統)

原因:

由於空間不足,無法使用 Solaris Software - 1 CD 進行升級。

解決方案:

若要進行升級,您可以建立一個大於或等於 512 MB 的交換磁碟片段,或是使用其他升級方法,例如 Solaris Operating System DVD 上的 Solaris 安裝或 JumpStart 網路安裝影像。

升級,一般問題


即使系統上有可升級的 Solaris 軟體版本,也不出現升級選項。

原因:

原因 1:/var/sadm 目錄是符號連結,或由其他檔案系統掛載而來。

解決方案:

原因 1:/var/sadm 目錄移入根 (/) 或 /var 檔案系統。

原因:

原因 2:缺少 /var/sadm/softinfo/INST_RELEASE 檔案。

解決方案:

原因 2:使用以下範本,建立新的 INST_RELEASE 檔案:

OS=Solaris
VERSION=x 
REV=0
x

為系統上的 Solaris 軟體版本

原因:

原因 3:/var/sadm/softinfo 中缺少 SUNWusr。

解決方案:

解決方案 3:您需要進行初始安裝。Solaris 軟體不可升級。


無法關閉或初始化 md 驅動程式

解決方案:

請遵循下列操作指示:


升級因 Solaris 安裝程式無法掛載檔案系統而失敗。

原因:

程序檔嘗試在升級期間,將系統 /etc/vfstab 檔案內所列的全部檔案系統,掛載到正在升級的根 (/) 檔案系統上。如果安裝程序檔無法掛載檔案系統,便會失敗並結束。

解決方案:

確定系統 /etc/vfstab 檔案中的全部檔案系統都可以掛載。將 /etc/vfstab 檔案中所有無法掛載或可能引起問題的檔案系統標記為註釋,以使 Solaris 安裝程式在升級期間不會嘗試掛載它們。包含要升級之軟體的所有系統型檔案系統 (例如,/usr) 不能標記為註釋。


升級失敗

說明:

系統的升級空間不足。

原因:

請查閱包含磁碟空間重新配置的升級,以取得空間問題的資訊,並查看您是否可以在不使用自動配置的情況下修正問題,以重新配置空間。


升級 RAID—1 磁碟區根 (/) 檔案系統時的問題

解決方案:

如果在使用根 (/) 檔案系統的 Solaris Volume Manager RAID-1 磁碟區進行升級時發生問題,請參閱「Solaris Volume Manager Administration Guide」中的第 25 章「Troubleshooting Solaris Volume Manager (Tasks)」

Procedure升級失敗後繼續升級

升級失敗,且系統無法軟啟動。您無法控制此故障的原因,如電源故障或網路連接故障。

步驟
  1. 從 Solaris Operating System DVD、Solaris Software - 1 CD 或是從網路重新啟動系統。

  2. 選擇安裝所需的升級選項。

    Solaris 安裝程式會確定系統是否已部分升級,以及系統是否繼續升級。

x86: 使用 GRUB 時,Solaris Live Upgrade 發生問題

從 Solaris 10 1/06 發行版本開始,在 x86 系統上使用 Solaris Live Upgrade 和 GRUB 開機管理程式,可能會發生下列錯誤。


錯誤:媒體產品工具安裝目錄 path-to-installation-directory 不存在。


錯誤:媒體 dirctory 不包含作業系統升級影像。

說明:

使用 luupgrade 指令升級新的啟動環境時,即會顯示錯誤訊息。

原因:

使用的是舊版的 Solaris Live Upgrade。系統上安裝的 Solaris Live Upgrade 套裝軟體,與媒體及媒體上的發行版本不相容。

解決方案:

請一律使用將要升級至之發行版本的 Solaris Live Upgrade 套裝軟體。

範例:

在下列範例中,錯誤訊息指出系統上的 Solaris Live Upgrade 套裝軟體和媒體上的版本不相同。


# luupgrade -u -n s10u1 -s /mnt
	Validating the contents of the media </mnt>.
	The media is a standard Solaris media.
	ERROR: The media product tools installation directory 
</mnt/Solaris_10/Tools/Boot/usr/sbin/install.d/install_config> does 
not exist.
	ERROR: The media </mnt> does not contain an operating system upgrade 
image.

錯誤:找不到或無法執行:</sbin/biosdev>。


錯誤:尚未安裝 Solaris Live Upgrade 所需的一或多個必要修補程式。

原因:

系統上未安裝 Solaris Live Upgrade 所需的一或多個必要修補程式。請注意,此錯誤訊息擷取不到所有缺少的修補程式。

解決方案:

使用 Solaris Live Upgrade 之前,請務必安裝所有必要的修補程式。請參閱 http://sunsolve.sun.com,以確保您具有最近更新的修補程式清單。在 SunSolve 網站上搜尋資訊文件 72099。


錯誤:裝置對映指令 </sbin/biosdev> 失敗。請重新啟動後再試。

原因:

原因 1:因為之前管理作業之故,所以 Solaris Live Upgrade 無法對映裝置。

解決方案:

原因 1:重新啟動系統後,再試一次 Solaris Live Upgrade

原因:

原因 2:如果重新啟動系統後還是出現同樣的錯誤訊息,表示您有兩個或兩個以上的相同磁碟。裝置對映指令無法分辨它們。

解決方案:

原因 2:請在其中一個磁碟上建立新的虛擬 fdisk 分割區。請參閱「fdisk(1M) 線上手冊」。然後重新啟動系統。


無法刪除包含 GRUB 功能表的啟動環境

原因:

當啟動環境包含 GRUB 功能表時,Solaris Live Upgrade 會強行加入不得刪除啟動環境的限制。

解決方案:

請使用 lumake(1M)luupgrade(1M) 指令再次使用該啟動環境。


意外重製了一個包含 GRUB 功能表的檔案系統。不過,磁碟的磁碟片段還是和以前一樣。例如,磁碟並未重新分段。

原因:

包含 GRUB 功能表的檔案系統,是保持系統可啟動的重要項目。Solaris Live Upgrade 指令不會銷毀 GRUB 功能表。但是,如果您使用 Solaris Live Upgrade 指令以外的指令,意外重建或銷毀了包含 GRUB 功能表的檔案系統,則回復軟體會嘗試重新安裝此 GRUB 功能表。回復軟體會在下次重新啟動時,將 GRUB 功能表放回相同的檔案系統。例如,您可能對檔案系統使用 newfsmkfs 指令,意外地銷毀了 GRUB 功能表。為正確修復 GRUB 功能表,磁碟片段必須符合下列條件:

  • 包含可掛載的檔案系統

  • 保持為該磁碟片段之前所在之同一 Solaris Live Upgrade 啟動環境的一部分

重新啟動系統之前,請對該磁碟片段執行必要的修正動作。

解決方案:

重新啟動系統。自動安裝 GRUB 功能表的備份。


意外刪除了 GRUB 功能表的 menu.lst 檔案。

解決方案:

重新啟動系統。自動安裝 GRUB 功能表的備份。

Procedure使用執行 Veritas VxVm 的 Solaris Live Upgrade 升級時系統當機

如果在升級並執行 Veritas VxVM 時使用 Solaris Live Upgrade,系統會在重新啟動時當機,除非您使用下列程序進行升級。如果套裝軟體不符合 Solaris 進階封裝準則,便會發生此問題。

步驟
  1. 建立非使用中的啟動環境。請參閱建立新的啟動環境

  2. 在升級非使用中的啟動環境前,必須停用非使用中的啟動環境上現有的 Veritas 軟體。

    1. 掛載非使用中的啟動環境。


      # lumount inactive_boot_environment_namemount_point
      

      例如:


      # lumount solaris8 /mnt
      
    2. 將目錄變更到包含 vfstab 的目錄,例如:


      # cd /mnt/etc
      
    3. 建立非使用中啟動環境的 vfstab 檔案副本,例如:


      # cp vfstab vfstab.501
      
    4. 在複製的 vfstab 中,將所有 Veritas 檔案系統項目標記成註釋,例如:


      #  sed  '/vx\/dsk/s/^/#/g'  < vfstab >  vfstab.novxfs
      

      每一行的第一個字元皆變更為 #,使該行成為註釋行。請注意,此註釋行與系統檔案註釋行有所不同。

    5. 複製變更後的 vfstab 檔案,例如:


      # cp vfstab.novxfs vfstab
      
    6. 將目錄變更至非使用中的啟動環境的系統檔案,例如:


      # cd /mnt/etc
      
    7. 複製非使用中的啟動環境之系統檔案,例如:


      # cp system system.501
      
    8. 將包含 drv/vx 的所有「forceload:」項目都標記為註釋。


      # sed '/forceload:   drv\/vx/s/^/*/' <system> system.novxfs
      

      每一行的第一個字元皆變更為 *,使該行成為注釋行。請注意,此註釋行與 vfstab 檔案註釋行有所不同。

    9. 建立 Veritas install-db 檔案,例如:


      # touch vx/reconfig.d/state.d/install-db
      
    10. 卸載非使用中的啟動環境。


      # luumount inactive_boot_environment_name
      
  3. 升級非使用中的啟動環境。請參閱第 9 章, 使用 Solaris Live Upgrade 升級 (作業)

  4. 啟動非使用中的啟動環境。請參閱啟動啟動環境

  5. 關閉系統。


    # init 0
    
  6. 以單一使用者模式啟動非使用中的啟動環境:


    OK boot -s
    

    螢幕上會顯示一些訊息,以及包含「vxvm」或「VXVM」的錯誤訊息,請忽略這些訊息。該非使用中的啟動環境變成使用中的啟動環境。

  7. 升級 Veritas。

    1. 從系統移除 Veritas VRTSvmsa 套裝軟體,例如:


      # pkgrm VRTSvmsa
      
    2. 變更目錄至 Veritas 套裝軟體。


      # cd /location_of_Veritas_software
      
    3. 將最新的 Veritas 套裝軟體增加到系統中:


      #  pkgadd -d `pwd` VRTSvxvm VRTSvmsa VRTSvmdoc VRTSvmman VRTSvmdev
      
  8. 回復原始的 vfstab 和系統檔案:


    # cp /etc/vfstab.original /etc/vfstab
    # cp /etc/system.original /etc/system
    
  9. 重新啟動系統。


    # init 6
    

x86: 依預設,不會在沒有現有服務分割區的系統上建立服務分割區

如果您在目前不包含服務或診斷分割區的系統上安裝 Solaris 10 作業系統,依預設,安裝程式可能不會建立服務分割區。如果您想在 Solaris 分割區所在的磁碟上增加服務分割區,必須在安裝 Solaris 10 作業系統之前,重新建立服務分割區。

如果是在具有服務分割區的系統上安裝 Solaris 8 2/02 作業系統,則安裝程式可能未保留服務分割區。如果未手動編輯 fdisk 啟動分割區配置,以保留服務分割區,則安裝程式會在安裝期間刪除服務分割區。


備註 –

如果在安裝 Solaris 8 2/02 作業系統時,未專門保留服務分割區,您可能無法重新建立服務分割區,也無法升級至 Solaris 10 作業系統。


如果要在 Solaris 分割區所在的磁碟上增加服務分割區,請選擇以下解決方法之一。

Procedure從網路安裝影像或使用 Solaris Operating System DVD 進行軟體安裝

若要從網路安裝影像或使用 Solaris Operating System DVD 經由網路進行安裝,請執行下列步驟。

步驟
  1. 刪除磁碟上的內容。

  2. 在安裝之前,請先針對您的系統使用診斷 CD 建立服務分割區。

    如需有關如何建立服務分割區的資訊,請參閱您的硬體說明文件。

  3. 從網路啟動系統。

    螢幕上會顯示 [自訂 fdisk 分割區] 畫面。

  4. 若要載入預設開機磁碟分割區配置,請按一下 [預設]。

    安裝程式會保留該服務分割區,並建立 Solaris 分割區。

Procedure從 Solaris Software - 1 CD 或網路安裝影像進行安裝

若要從 Solaris Software - 1 CD 或啟動伺服器上網路安裝影像的 Solaris 安裝程式進行安裝,請執行下列步驟。

步驟
  1. 刪除磁碟上的內容。

  2. 在安裝之前,請先針對您的系統使用診斷 CD 建立服務分割區。

    如需有關如何建立服務分割區的資訊,請參閱您的硬體說明文件。

  3. 安裝程式會提示您選擇一種建立 Solaris 分割區的方法。

  4. 啟動該系統。

  5. 請選取 [使用剩餘磁碟空間建立 Solaris 分割區] 選項。

    安裝程式會保留該服務分割區,並建立 Solaris 分割區。

  6. 完成安裝。

附錄 B 附加的 SVR4 封裝需求 (參考)

本附錄適用於需要安裝或移除套裝軟體 (特別是協力廠商套裝軟體) 的系統管理員。遵循這些封裝需求可滿足下列事項:

本章包含下列小節:

防止修改目前的作業系統

遵循本節所述的需求,可讓目前正在執行的作業系統保持不變。

使用絕對路徑

若要成功地安裝作業系統,套裝軟體必須辨識並正確找出替代的根 (/) 檔案系統,例如 Solaris Live Upgrade 非使用中啟動環境。

套裝軟體可以在其 pkgmap 檔案 (套裝軟體對映) 中包含絕對路徑。如果這些檔案存在,其相對於 pkgadd 指令的 -R 選項進行寫入。同時包含絕對路徑和相對 (可重新定位) 路徑的套裝軟體,也可以安裝在替代根 (/) 檔案系統上。$PKG_INSTALL_ROOT 同時前置於絕對和可重新定位的檔案,因此在透過 pkgadd 安裝時可正確地解析所有路徑。

使用 pkgadd -R 指令

使用 pkgadd -R 選項安裝或使用 pkgrm -R 選項移除的套裝軟體,不得修改目前執行中的系統。這項功能是由自訂 JumpStart、Solaris Live Upgrade、非全域區域和無本地磁碟的用戶端使用的。

任何使用 pkgadd 指令 -R 選項安裝或使用 pkgrm 指令 -R 選項移除的套裝軟體隨附的程序檔,不得修改目前執行中的系統。所有提供的安裝程序檔必須參照任何以變數 $PKG_INSTALL_ROOT 為字首的目錄或檔案。套裝軟體必須寫入所有以 $PKG_INSTALL_ROOT 為字首的目錄與檔案。套裝軟體不得移除沒有以 $PKG_INSTALL_ROOT 為字首的目錄。

表 B–1 提供程序檔語法範例。

表 B–1 安裝程序檔語法範例

程序檔類型 

正確的語法 

不正確的語法 

Bourne shell「if」敘述分段 

if [ -f ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf ] ; then
if [ -f /etc/myproduct.conf ] ; \
 then

移除檔案 

/bin/rm -f ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf
/bin/rm -f /etc/myproduct.conf 

變更檔案 

echo "test=no" > ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf
echo "test=no" > \
/etc/myproduct.conf

$PKG_INSTALL_ROOT$BASEDIR 之差異簡介

$PKG_INSTALL_ROOT 為根 (/) 檔案系統在增加套裝軟體的機器上的位置。該位置設定為 pkgadd 指令的 -R 引數。例如,如果呼叫下列指令,則在安裝套裝軟體期間,$PKG_INSTALL_ROOT 會成為 /a


# pkgadd -R /a SUNWvxvm

$BASEDIR 指向安裝可重定位套裝軟體物件的 relocatable 基本目錄。僅可重定位物件安裝於此。不可重定位物件 (那些在 pkgmap 檔案中擁有絕對路徑的物件) 的安裝位置總是相對於非使用中啟動環境,而不是相對於實際生效的 $BASEDIR。如果套裝軟體沒有可重定位物件,則該套裝軟體稱為絕對套裝軟體 (或不可重定位的),並且 $BASEDIR 不做定義,也無法在套裝軟體程序檔中使用。

例如,假設套裝軟體的 pkgmap 檔案含有兩個登錄:


1 f none sbin/ls 0555 root sys 3541 12322 1002918510
1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332

pkginfo 檔案有 $BASEDIR 的規格:


BASEDIR=/opt

如果使用下列指令安裝此套裝軟體,則 ls 安裝在 /a/opt/sbin/ls 中,但 ls2 安裝為 /a/sbin/ls2


# pkgadd -R /a SUNWtest

撰寫程序檔的準則

您的套裝軟體程序檔必須獨立於目前執行的作業系統,以避免修改了作業系統。程序檔定義在套裝軟體安裝與移除期間發生在特定時間點的動作。可使用這些預先定義的名稱來建立四個程序檔:preinstallpostinstallpreremovepostremove

表 B–2 建立程序檔的準則

準則 

影響 Solaris Live Upgrade 

影響非全域區域 

程序檔均須以 Bourne shell (/bin/sh) 撰寫。Bourne shell 是 pkgadd 指令用來執行程序檔的解譯器。

程序檔不得啟動或停止任何程序,或依賴於如 pstruss 等指令的輸出,因為這些指令與作業系統相關,並報告目前正在執行之系統的相關資訊。

程序檔可以自由使用其他標準 UNIX 指令,如 exprcpls 以及其他幫助撰寫 shell 程序檔的指令。

程序檔呼叫的任何指令,都必須可以在所有支援的發行版本上使用,因為套裝軟體必須在這些發行版本上執行。因此,您無法使用 Solaris 8 發行版本之後增加或移除的指令。 

若要確認 Solaris 8、9 或 10 發行版本是否支援某特定指令或選項,請參閱 http://docs.sun.com 上特定版本的 Solaris Reference Manual AnswerBook

 

維護無本地磁碟的用戶端相容性

套裝軟體不得執行自己提供的指令。這項需求是為了維護無本地磁碟的用戶端相容性,並避免執行所需的共用程式庫尚未安裝的指令。

驗證套裝軟體

所有套裝軟體均須通過 pkgchk 驗證。建立套裝軟體後,在安裝之前,必須使用下列指令對其進行檢查。


# pkgchk -d dir_name pkg_name
dir_name

指定套裝軟體所在目錄的名稱

pkg_name

指定套裝軟體的名稱


範例 B–1 測試套裝軟體

在建立套裝軟體之後,必須使用帶有 -R dir_name 選項的 pkgadd 指令,將其安裝至替代根 (/) 檔案系統位置,並進行測試。套裝軟體安裝完畢之後,必須使用 pkgchk 檢查其正確性,如本範例所示。


# pkgadd -d . -R /a SUNWvxvm
# pkgchk -R /a SUNWvxvm

螢幕不應該顯示任何錯誤。



範例 B–2 測試 /export/SUNWvxvm 上的套裝軟體

如果套裝軟體存在於 /export/SUNWvxvm 中,則您可以發出下列指令。


# pkgchk -d /export SUNWvxvm

螢幕不應該顯示任何錯誤。


在建立、修改及刪除檔案時,還有其他指令可以檢查套裝軟體。下列指令是部分範例。


# TEMPDIR=/a; export TEMPDIR
# truss -t open /usr/sbin/pkgadd -R ${TEMPDIR} SUNWvxvm \
2>&1 > /dev/null | grep -v O_RDONLY | grep -v \
'open("'${TEMPDIR}

安裝或升級時防止使用者互動

使用下列標準 Solaris 公用程式增加或移除套裝軟體時,不可有提示使用者的資訊。

若要測試套裝軟體是否可以在沒有使用者互動的情況下安裝,可以使用 pkgadd 指令和 -a 選項來設定新的管理檔案。-a 選項可定義欲使用的安裝管理檔案,以代替預設管理檔案。使用預設檔案可能會造成系統提示使用者輸入更多資訊。您可以建立管理檔案以指示 pkgadd 略過這些檢查,並且無須使用者的確認而安裝套裝軟體。如需詳細資訊,請參閱「admin(4) 線上手冊」或「pkgadd(1M) 線上手冊」。

下列範例顯示 pkgadd 指令如何使用管理檔案。


範例 B–3 安裝管理檔案

以下是一個安裝管理檔案的範例,它很少要求使用者與 pkgadd 公用程式互動。如果套裝軟體要求的空間高於系統上的可用空間,pkgadd 公用程式會使用此檔案安裝套裝軟體,並且不會提示使用者提供更多資訊。

mail=
instance=overwrite
partial=nocheck
runlevel=nocheck
idepend=nocheck
space=ask
setuid=nocheck
confiict=nocheck
action=nocheck
basedir=default

更多資訊

下列參考提供封裝需求和特定指令語法的相關背景資訊。

封裝需求和術語定義的特定資訊 

「Application Packaging Developer’s Guide」中的第 6 章「Advanced Techniques for Creating Packages」

增加和移除套裝軟體與安裝管理檔案的基本資訊 

「System Administration Guide: Basic Administration」中的第 16 章「Managing Software(Overview)」

如需本附錄中參考之特定指令的詳細資訊,請參閱下列線上手冊 

dircmp(1) 線上手冊」、「fssnap(1M) 線上手冊」、「ps(1) 線上手冊」、「truss(1) 線上手冊」、「pkgadd(1M) 線上手冊」、「pkgchk(1M) 線上手冊」或「pkgrm(1M) 線上手冊」

Solaris Live Upgrade 的簡介 

第 6 章, Solaris Live Upgrade (簡介)

自訂 JumpStart 的簡介 

「Solaris 10 安裝指南:自訂 JumpStart 及進階安裝」中的第 5 章「自訂 JumpStart (簡介)」

Solaris Zones 的簡介 

「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」中的第 16 章「Introduction to Solaris Zones」