本部分提供參考資訊。
本章包含您在安裝 Solaris 10 5/09 軟體時可能會遇到的特定錯誤訊息和一般問題之清單。還說明如何修正這些問題。請從使用此章節清單開始,確定安裝程序中出現問題的位置。
當您看到「可啟動媒體」的本書使用慣例時,表示這是 Solaris 安裝程式和 JumpStart 安裝方法。
Unknown client「host_name」(未知的用戶端「host_name」)
原因:add_install_client 指令中的 host_name 引數不是命名服務中的主機。
解決方案:錯誤: <system name> does not exist in the NIS ethers map (<system name> 不存在於 NIS 乙太網路對映)
Add it, and rerun the add_install_client command (增加它並且重新執行 add_install_client 指令)
說明:當您執行 add_install_client 指令時,指令失敗並且出現以上的錯誤。
原因:您要增加到安裝伺服器的用戶端不存在於伺服器的 /etc/ethers 檔案中。
解決方案:將需要的資訊增加到安裝伺服器上的 /etc/ethers 檔案,並且再次執行 add_install_client 指令。
成為超級使用者,或者假定一個對等身份。
在用戶端上,尋找乙太網路位址。
# ifconfig -a grep ethers ether 8:0:20:b3:39:1d |
在安裝伺服器上,使用編輯器開啟 /etc/ethers 檔案。將位址增加到清單中。
在用戶端上,再次執行 add_install_client,如本範例所示。
# ./add_install_client bluegill sun4u |
le0: No carrier - transceiver cable problem (無載波 - 收發器電纜問題)
原因:系統未連接至網路。
解決方案:如果是非網路的系統,請忽略此訊息。如果是網路的系統,請確保乙太網路電纜連接穩固。
The file just loaded does not appear to be executable (剛載入的檔案似乎無法執行)
原因:系統找不到正確的媒體來啟動。
解決方案:驗證是否已將系統正確設定為從安裝伺服器經由網路安裝 Solaris 10 5/09 軟體。下列是您可執行之檢查的範例。
如果您已經將 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 5/09 軟體時 (透過 Solaris 安裝程式或自訂 JumpStart),未選取開機磁碟。現在必須編輯 BIOS 來啟動系統。
解決方案:選取 BIOS 才能啟動。請參閱您的 BIOS 說明文件,以取得說明。
系統沒有啟動。
說明:當初始設定自訂 JumpStart 伺服器時,可能會遇到沒有傳回錯誤訊息的啟動問題。若要驗證有關系統及系統啟動方式的資訊,請使用 -v 選項執行啟動指令。當您使用 -v 選項時,啟動指令會顯示關於螢幕的詳細除錯資訊。
如果未指定此旗標,仍然會列印該訊息,但輸出會指向到系統記錄檔。如需更多資訊,請參閱「syslogd(1M) 線上手冊」。
若為基於 SPARC 之系統,請在出現 ok 提示符號時,鍵入下列指令。
ok boot net -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 卡的說明,並檢查位址範圍。
系統在顯示系統提示前掛起。(僅限基於 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/boo params 檔案中,但還有一個項目位於另一個可讓所有系統存取設定檔伺服器的 /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 5/09 安裝指南:網路安裝」中的「使用 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_client。add_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 5/09 安裝指南:網路安裝」中的「使用 DHCP 服務預先配置系統配置資訊 (作業)」。
初始安裝失敗
解決方案:如果 Solaris 安裝失敗,您必須重新開始安裝。若要重新開始安裝,請從 Solaris Operating System DVD、Solaris Software - 1 CD 或從網路啟動系統。
在已安裝部分軟體後,您無法解除安裝 Solaris 軟體,必須從備份回復系統,或重新開始 Solaris 安裝程序。
/cdrom/cdrom0/SUNW xxxx/reloc.cpio: 管道中斷
說明:此錯誤訊息僅供參考,不影響安裝。當在不具有讀取程序的管道上進行寫入動作時,便會發生此錯誤。
解決方案:請忽略此訊息,繼續安裝。
WARNING: CHANGE DEFAULT BOOT DEVICE (警告:變更預設開機裝置) (僅限基於 x86 的系統)
原因:此訊息僅供參考。在系統的 BIOS 中設定的預設開機裝置可能會被設定為要求使用 Solaris Device Configuration Assistant 來啟動系統。
解決方案:繼續進行安裝,且如有必要,請在 Solaris 軟體安裝完成之後,將 BIOS 中指定的系統預設啟動裝置變更為不需要使用 Solaris Device Configuration Assistant的裝置。
若使用 locale 關鍵字測試初始安裝的自訂 JumpStart 設定檔,則 pfinstall -D 指令無法測試設定檔。若需解決方法,請參閱升級 Solaris 作業系統小節中的錯誤訊息「無法選擇語言環境」。
與其他 Solaris 軟體支援的磁碟機不同,IDE 磁碟機不會自動對映出壞的區塊。在 IDE 磁碟上安裝 Solaris 之前,您可能需要執行磁碟表面分析。若要在 IDE 磁碟上執行表面分析,請執行以下程序。
成為超級使用者,或者假定一個對等身份。
身份包含授權指令與特權指令。如需有關角色的更多資訊,請參閱「System Administration Guide: Security Services」中的「Configuring RBAC (Task Map)」。
啟動至安裝媒體。
提示選取安裝類型時,請選取選項 6,單一使用者 shell。
啟動 format(1M) 程式。
# format |
指定要執行表面分析的 IDE 磁碟機。
# cxdy |
是控制器編號
是裝置編號
確認是否具有 fdisk 分割區。
如果 Solaris fdisk 分割區已存在,請繼續執行步驟 7。
如果 Solaris fdisk 分割區不存在,請使用 fdisk 指令在磁碟上建立 Solaris 分割區。
format> fdisk |
如果要開始進行表面分析,請鍵入:
format> analyze |
決定目前設定,請鍵入:
analyze> config |
(可選擇) 要變更設定,請鍵入:
analyze> setup |
要尋找壞區塊,請鍵入:
analyze> type_of_surface_analysis |
是讀取、寫入或比對
如果 format 找到壞區塊,會重新對映這些區塊。
要退出分析,請鍵入:
analyze> quit |
決定是否指定要重新對映的區塊。
如果不指定,請跳至步驟 13。
如果要指定,請鍵入:
format> repair |
要退出格式化程式,請鍵入:
quit |
鍵入下列指令以多使用者模式重新啟動媒體。
# exit |
無可升級的磁碟
原因:/etc/vfstab 檔案中的交換項目造成升級失敗。
解決方案:將 /etc/vfstab 檔案中的下列各行標記為註釋:
磁碟上不進行升級的所有交換檔與磁碟片段
不再出現的交換檔
所有未使用的交換磁碟片段
找不到 usr/bin/bzcat
原因:Solaris Live Upgrade 失敗,因為需要修補程式叢集。
解決方案:安裝 Solaris Live Upgrade 需要修補程式。請參閱 http://sunsolve.sun.com,以確定您有最近更新的修補程式清單。在 SunSolve 網站上搜尋資訊文件 206844 (以前為 72099)。
已找到可升級的 Solaris 根裝置,但找不到合適的分割區來儲存 Solaris 安裝軟體。不能使用 Solaris 安裝程式進行升級。可能可以使用 Solaris Software 1 CDROM 進行升級。(僅限基於 X86 的系統)
原因:由於空間不足,無法使用 Solaris Software - 1 CD 進行升級。
解決方案:若要進行升級,您可以建立一個大於或等於 512 MB 的交換磁碟片段,或是使用其他升級方法,例如 Solaris Operating System DVD 上的 Solaris 安裝或 JumpStart 網路安裝影像。
錯誤: 無法選取語言環境 (僅限基於 x86 的系統)
原因:透過使用 pfinstall -D 指令測試 JumpStart 設定檔時,模擬測試在下列情況下無法成功:
設定檔包含 locale 關鍵字。
您正在測試包含 GRUB 軟體的發行版本。從 Solaris 10 1/06 發行版本開始,GRUB 開機管理程式可使用 GRUB 功能表,讓您輕鬆啟動安裝在系統上的不同作業系統。
使用 GRUB 軟體,會壓縮 miniroot。軟體無法再從壓縮的 miniroot 找到語言環境清單。miniroot 是可啟動之最小的 Solaris root (/) 檔案系統,可以在 Solaris 安裝媒體上找到。
解決方案:執行下列步驟。使用下列值。
MEDIA_DIR 為 /cdrom/cdrom0/
MINIROOT_DIR is $MEDIA_DIR /Solaris_10/Tools/Boot
MINIROOT_ARCHIVE 為 $MEDIA_DIR /boot/x86.miniroot
TEMP_FILE_NAME 為 /tmp/test
成為超級使用者,或者假定一個對等身份。
身份包含授權指令與特權指令。如需有關角色的更多資訊,請參閱「System Administration Guide: Security Services」中的「Configuring RBAC (Task Map)」。
解壓縮 miniroot 歸檔。
# /usr/bin/gzcat $MINIROOT_ARCHIVE > $TEMP_FILE_NAME |
使用 lofiadm 指令建立 miniroot 裝置。
# LOFI_DEVICE=/usr/sbin/lofiadm -a $TEMP_FILE_NAME # echo $LOFI_DEVICE /dev/lofi/1 |
使用 lofi 指令將 miniroot 掛載在 Miniroot 目錄下。
# /usr/sbin/mount -F ufs $LOFI_DEVICE $MINIROOT_DIR |
測試設定檔。
# /usr/sbin/install.d/pfinstall -D -c $MEDIA_DIR $path-to-jumpstart_profile |
完成測試之後,請卸載 lofi 裝置。
# umount $LOFI_DEVICE |
刪除 lofi 裝置。
# lofiadm -d $TEMP_FILE_NAME |
即使系統上有可升級的 Solaris 軟體版本,也不出現升級選項。
原因:原因 1: /var/sadm 目錄是符號連結,或由其他檔案系統掛載而來。
解決方案:原因 1: 將 /var/sadm 目錄移入根 (/) 或 /var 檔案系統。
原因:原因 2: 缺少 /var/sadm/softinfo/INST_RELEASE 檔案。
解決方案:原因 2: 使用以下範本,建立新的 INST_RELEASE 檔案:
OS=Solaris VERSION=x REV=0
為系統上的 Solaris 軟體版本
原因 3: /var/sadm/softinfo 中缺少 SUNWusr。
解決方案:解決方案 3: 您需要進行初始安裝。Solaris 軟體不可升級。
無法關閉或初始化 md 驅動程式
解決方案:請遵循下列操作指示:
如果檔案系統不是 RAID-1 磁碟區,請在 vsftab 檔案中將它標記為註釋。
如果檔案系統是 RAID-1 磁碟區,請中斷鏡像並重新安裝。如需有關解除鏡像的資訊,請參閱「Solaris Volume Manager Administration Guide」中的「Removing RAID-1 Volumes (Unmirroring)」。
升級因 Solaris 安裝程式無法掛載檔案系統而失敗。
原因:在升級期間,程序檔嘗試掛載系統之 /etc/vfstab 檔案所列出的所有檔案系統,該檔案位於正在升級的根 (/) 檔案系統中。如果安裝程序檔無法掛載檔案系統,便會失敗並結束。
解決方案:確定系統 /etc/vfstab 檔案中的全部檔案系統都可以掛載。對 /etc/vfstab 檔案中所有無法掛載或可能引起問題的檔案系統標記為註釋,以避免 Solaris 安裝程式在升級期間嘗試掛載它們。所有包含要升級之軟體的基於系統的檔案系統 (例如 /usr) 皆不能標記為註釋。
升級失敗
說明:系統的升級空間不足。
原因:請參閱「Solaris 10 5/09 安裝指南:規劃安裝與升級」中的「包含磁碟空間重新分配的升級」,以取得空間問題的資訊,並查看您是否可以在不使用自動配置重新分配空間的情況下解決此問題。
升級 RAID–1 磁碟區根 (/) 檔案系統時發生的問題
解決方案:如果在使用根 (/) 檔案系統的 Solaris Volume Manager RAID-1 磁碟區進行升級時發生問題,請參閱「Solaris Volume Manager Administration Guide」中的第 25 章「Troubleshooting Solaris Volume Manager (Tasks)」。
升級失敗,且系統無法軟啟動。您無法控制此故障的原因,如電源故障或網路連接故障。
從 Solaris Operating System DVD、Solaris Software - 1 CD 或是從網路重新啟動系統。
選擇安裝所需的升級選項。
Solaris 安裝程式會確定系統是否已部分升級,以及系統是否繼續升級。
在基於 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 網站上搜尋資訊文件 206844 (以前為 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 功能表放回相同的檔案系統。例如,您可能在檔案系統上使用了 newfs 或 mkfs 指令,因而意外銷毀了 GRUB 功能表。為正確修復 GRUB 功能表,磁碟片段必須符合下列條件:
包含可掛載的檔案系統
保持為該磁碟片段之前所在之同一 Solaris Live Upgrade 啟動環境的一部分
重新啟動系統之前,請對該磁碟片段執行必要的修正動作。
解決方案:重新啟動系統。自動安裝 GRUB 功能表的備份。
意外刪除了 GRUB 功能表的 menu.lst 檔案。
解決方案:重新啟動系統。自動安裝 GRUB 功能表的備份。
如果在升級並執行 Veritas VxVM 時使用 Solaris Live Upgrade,系統會在重新啟動時當機,除非您使用下列程序進行升級。如果套裝軟體不符合 Solaris 進階封裝準則,便會發生此問題。
成為超級使用者,或者假定一個對等身份。
身份包含授權指令與特權指令。如需有關角色的更多資訊,請參閱「System Administration Guide: Security Services」中的「Configuring RBAC (Task Map)」。
建立非使用中的啟動環境。請參閱建立新的啟動環境。
在升級非使用中的啟動環境前,必須停用非使用中的啟動環境上現有的 Veritas 軟體。
掛載非使用中的啟動環境。
# lumount inactive_boot_environment_name mount_point |
例如:
# lumount solaris8 /mnt |
將目錄變更到包含 vfstab 的目錄,例如:
# cd /mnt/etc |
建立非使用中啟動環境的 vfstab 檔案副本,例如:
# cp vfstab vfstab.501 |
在複製的 vfstab 中,將所有 Veritas 檔案系統項目標記成註釋,例如:
# sed '/vx\/dsk/s/^/#/g' < vfstab > vfstab.novxfs |
每一行的第一個字元皆變更為 #,使該行成為註釋行。請注意,此註釋行與系統檔案註釋行有所不同。
複製變更後的 vfstab 檔案,例如:
# cp vfstab.novxfs vfstab |
將目錄變更至非使用中的啟動環境的系統檔案,例如:
# cd /mnt/etc |
複製非使用中的啟動環境之系統檔案,例如:
# cp system system.501 |
將包含 drv/vx 的 所有「forceload:」項目都標記為註釋。
# sed '/forceload: drv\/vx/s/^/*/' <system> system.novxfs |
每一行的第一個字元皆變更為 *,使該行成為注釋行。請注意,此註釋行與 vfstab 檔案註釋行有所不同。
建立 Veritas install-db 檔案,例如:
# touch vx/reconfig.d/state.d/install-db |
卸載非使用中的啟動環境。
# luumount inactive_boot_environment_name |
升級非使用中的啟動環境。請參閱第 5 章使用 Solaris Live Upgrade 升級 (作業)。
啟動非使用中的啟動環境。請參閱啟動某啟動環境。
關閉系統。
# init 0 |
以單一使用者模式啟動非使用中的啟動環境:
OK boot -s |
螢幕上會顯示一些訊息,以及包含「vxvm」或「VXVM」的錯誤訊息,請忽略這些訊息。該非使用中的啟動環境變成使用中的啟動環境。
升級 Veritas。
回復原始的 vfstab 和系統檔案:
# cp /etc/vfstab.original /etc/vfstab # cp /etc/system.original /etc/system |
重新啟動系統。
# init 6 |
如果您在目前不包含服務或診斷分割區的系統上安裝 Solaris 10 5/09 作業系統,依預設,安裝程式可能不會建立服務分割區。如果您想在 Solaris 分割區所在的磁碟上增加服務分割區,必須在安裝 Solaris 10 5/09 作業系統之前,重新建立服務分割區。
如果是在具有服務分割區的系統上安裝 Solaris 8 2/02 作業系統,則安裝程式可能未保留服務分割區。如果未手動編輯 fdisk 啟動分割區配置,以保留服務分割區,則安裝程式會在安裝期間刪除服務分割區。
如果在安裝 Solaris 8 2/02 作業系統時沒有特別保留服務分割區,您可能無法重新建立服務分割區,也無法升級至 Solaris 10 5/09 作業系統。
如果要在 Solaris 分割區所在的磁碟上增加服務分割區,請選擇以下解決方法之一。
若要從網路安裝影像或使用 Solaris Operating System DVD 經由網路進行安裝,請執行下列步驟。
刪除磁碟上的內容。
在安裝之前,請先針對您的系統使用診斷 CD 建立服務分割區。
如需有關如何建立服務分割區的資訊,請參閱您的硬體說明文件。
從網路啟動系統。
螢幕上會顯示 [自訂 fdisk 分割區] 畫面。
若要載入預設開機磁碟分割區配置,請按一下 [預設]。
安裝程式會保留該服務分割區,並建立 Solaris 分割區。
若要從 Solaris Software - 1 CD 或啟動伺服器上網路安裝影像的 Solaris 安裝程式進行安裝,請執行下列步驟。
刪除磁碟上的內容。
在安裝之前,請先針對您的系統使用診斷 CD 建立服務分割區。
如需有關如何建立服務分割區的資訊,請參閱您的硬體說明文件。
安裝程式會提示您選擇一種建立 Solaris 分割區的方法。
啟動該系統。
請選取 [使用剩餘磁碟空間建立 Solaris 分割區] 選項。
安裝程式會保留該服務分割區,並建立 Solaris 分割區。
完成安裝。
本附錄適用於安裝或移除套裝軟體,尤其是協力廠商套裝軟體的系統管理員。遵循這些封裝需求可滿足下列事項:
避免修改目前正在執行的系統,如此即可使用 Solaris Live Upgrade 進行升級,並建立和維護非全域區域和無本地磁碟的用戶端
使用自訂 JumpStart 這類安裝程式時,可避免套裝軟體以交互方式安裝,而以自動方式安裝
本章包含下列小節:
遵循本節所述的需求,可讓目前正在執行的作業系統保持不變。
若要成功地安裝作業系統,套裝軟體必須辨識並正確找出替代的根 (/) 檔案系統,例如 Solaris Live Upgrade 非使用中啟動環境。
套裝軟體可以在其 pkgmap 檔案 (套裝軟體對映) 中包含絕對路徑。如果這些檔案存在,其相對於 pkgadd 指令的 -R 選項進行寫入。同時包含絕對路徑和相對 (可重新定位) 路徑的套裝軟體,也可以安裝在替代根 (/) 檔案系統上。$PKG_INSTALL_ROOT 同時前置於絕對和可重新定位的檔案,因此在透過 pkgadd 安裝時可正確地解析所有路徑。
使用 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 安裝程序檔語法範例
$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 |
您的套裝軟體程序檔必須獨立於目前執行的作業系統,以避免修改了作業系統。程序檔定義在套裝軟體安裝與移除期間發生在特定時間點的動作。可使用這些預先定義的名稱來建立四個程序檔: preinstall、postinstall、preremove 和 postremove。
表 B–2 建立程序檔的準則
準則 |
影響 Solaris Live Upgrade |
影響非全域區域 |
---|---|---|
程序檔均須以 Bourne shell (/bin/sh) 撰寫。Bourne shell 是 pkgadd 指令用來執行程序檔的解譯器。 |
X |
X |
程序檔不得啟動或停止任何程序,或依賴於如 ps 或 truss 等指令的輸出,因為這些指令與作業系統相關,並報告目前正在執行之系統的相關資訊。 |
X |
X |
程序檔可以自由使用其他標準 UNIX 指令,如 expr、cp、ls 以及其他幫助撰寫 shell 程序檔的指令。 |
X |
X |
程序檔呼叫的任何指令,都必須可以在所有支援的發行版本上使用,因為套裝軟體必須在這些發行版本上執行。因此,您無法使用 Solaris 8 發行版本之後增加或移除的指令。 若要驗證 Solaris 8、9 或 10 發行版本是否支援某特定指令或選項,請參閱 http://docs.sun.com 上特定版本的「Solaris Reference Manual AnswerBook」。 |
X |
套裝軟體不得執行自己提供的指令。這項需求是為了維護無本地磁碟的用戶端相容性,並避免執行所需的共用程式庫尚未安裝的指令。
所有套裝軟體均須通過 pkgchk 驗證。建立套裝軟體後,在安裝之前,必須使用下列指令對其進行檢查。
# pkgchk -d dir_name pkg_name |
指定套裝軟體所在目錄的名稱
指定套裝軟體的名稱
在建立套裝軟體之後,必須使用帶有 R -dir_name 選項的 pkgadd 指令,將其安裝至替代根 (/) 檔案系統位置以進行測試。套裝軟體安裝完畢之後,必須使用 pkgchk 指令檢查其正確性,如本範例所示。
# pkgadd -d . -R /a SUNWvxvm # pkgchk -R /a SUNWvxvm |
螢幕不應該顯示任何錯誤。
如果套裝軟體存在於 /export/SUNWvxvm 中,則您可以輸入下列指令。
# pkgchk -d /export SUNWvxvm |
螢幕不應該顯示任何錯誤。
在建立、修改及刪除檔案時,還有其他指令可以檢查套裝軟體。下列指令是部分範例。
例如,dircmp 或是 fssnap 指令可以用來驗證該套裝軟體作業正確。
同時,ps 指令可以用來測試常駐程式相容性,以確定套裝軟體不會停止或啟動常駐程式。
truss、pkgadd -v 和 pkgrm 指令可以測試執行期間套裝軟體安裝一致性,但是不一定能夠在所有狀況中生效。在下列範例中,truss 指令刪除所有非 $TEMPDIR 的唯讀存取,並只顯示指定的非使用中啟動環境之外的非唯讀式路徑存取。
# 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 公用程式增加或移除套裝軟體時,不可有提示使用者的資訊。
自訂 JumpStart 程式
Solaris Live Upgrade
Solaris 安裝程式
Solaris Zones
若要測試套裝軟體是否可以在沒有使用者互動的情況下安裝,可以使用 pkgadd 指令和 -a 選項來設定新的管理檔案。-a 選項可定義欲使用的安裝管理檔案,以代替預設管理檔案。使用預設檔案可能會造成系統提示使用者輸入更多資訊。您可以建立管理檔案以指示 pkgadd 略過這些檢查,並且無須使用者的確認而安裝套裝軟體。如需詳細資訊,請參閱「admin(4) 線上手冊」或「pkgadd(1M) 線上手冊」。
下列範例顯示 pkgadd 指令如何使用管理檔案。
如果未提供管理檔案,pkgadd 會使用 /var/sadm/install/admin/default。使用此檔案可能造成使用者互動。
# pkgadd |
若是在指令行提供相關的管理檔案,pkgadd 會在 /var/sadm/install/admin 中尋找檔案名稱並使用該檔案。在此範例中,相關管理檔案名稱為 nocheck,而 pkgadd 將尋找 /var/sadm/install/admin/nocheck。
# pkgadd -a nocheck |
如果提供了絕對檔案,pkgadd 就會使用它。在此範例中,pkgadd 會在 /tmp 中尋找 nocheck 管理檔案。
# pkgadd -a /tmp/nocheck |
以下是一個安裝管理檔案的範例,它很少要求使用者與 pkgadd 公用程式互動。除非套裝軟體要求的空間多於系統上的可用空間,否則 pkgadd 公用程式會使用此檔案並安裝套裝軟體,而且不會提示使用者提供更多資訊。
mail= instance=overwrite partial=nocheck runlevel=nocheck idepend=nocheck space=ask setuid=nocheck confiict=nocheck action=nocheck basedir=default
套裝軟體具有的參數可控制其內容的發佈方式,並可讓這些內容顯示在安裝有非全域區域的系統上。SUNW_PKG_ALLZONES、SUNW_PKG_HOLLOW 和 SUNW_PKG_THISZONE 套裝軟體參數會定義已安裝區域之系統上的套裝軟體特性。您必須設定這些參數,才能在具有非全域區域的系統中管理套裝軟體。
下表列出四種有效的套裝軟體參數設定組合。如果您選擇的設定組合未列在下表中,則那些設定不僅無效,還會造成套裝軟體安裝失敗。
請確認您已設定上述三個套裝軟體參數。這三個套裝軟體參數可以全部保持空白。套裝軟體工具會將缺少區域套裝軟體參數視為設定「false」,但強烈建議您務必設定此等參數。全部三個套裝軟體參數皆設定,即可指定套裝軟體工具在安裝或移除套裝軟體時應該表現的運作方式。
SUNW_PKG_ALLZONES 設定 |
SUNW_PKG_HOLLOW 設定 |
SUNW_PKG_THISZONE 設定 |
套裝軟體說明 |
---|---|---|---|
false |
false |
false |
這是未針對所有區域套裝軟體參數指定值之套裝軟體的預設設定。 具有這些設定的套裝軟體可安裝在全域區域或非全域區域中。
在上述兩種情況下,所有安裝此套裝軟體的區域皆可看到該套裝軟體的完整內容。 |
false |
false |
true |
具有這些設定的套裝軟體可安裝在全域區域或非全域區域中。如在安裝之後建立新的非全域區域,則套裝軟體不會傳遞到這些新增的非全域區域。
在上述兩種情況下,安裝此套裝軟體的區域中可看到該套裝軟體的完整內容。 |
true |
false |
false |
具有這些設定的套裝軟體僅可安裝在全域區域中。執行 pkgadd 指令時,套裝軟體會安裝在全域區域和所有非全域區域中。所有區域皆可看到此套裝軟體的完整內容。 備註 – 任何在非全域區域中安裝套裝軟體的嘗試都會失敗。 |
true |
true |
false |
具有這些設定的套裝軟體僅能由全域管理員安裝在全域區域中。執行 pkgadd 指令時,套裝軟體的內容會完整安裝在全域區域中。如果某套裝軟體將套裝軟體參數設為這些值,則此套裝軟體內容本身不會傳遞到任何非全域區域。在所有非全域區域上,只會安裝可能要安裝之套裝軟體的必要套裝軟體安裝資訊。如此即可安裝依賴此套裝軟體的其他套裝軟體。如需有關「空狀態」套裝軟體的更多資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」中的第 24 章「About Packages and Patches on a Solaris System With Zones Installed (Overview)」。 若為檢查套裝軟體相依性目的,該套裝軟體應安裝在所有區域中。
備註 – 任何在非全域區域中安裝套裝軟體的嘗試都會失敗。 |
說明 |
更多資訊 |
---|---|
套裝軟體和區域的更多詳細資訊 | |
稀疏根區域和整個根區域的簡介 | |
套裝軟體特性和參數的資訊 |
「pkginfo(4) 線上手冊」 |
顯示套裝軟體參數值的資訊 |
「pkgparam(1) 線上手冊」 |
下列參考提供封裝需求和特定指令語法的相關背景資訊。
封裝需求和術語定義的特定資訊 |
「Application Packaging Developer’s Guide」中的第 6 章「Advanced Techniques for Creating Packages」 |
增加和移除套裝軟體與安裝管理檔案的基本資訊 |
「System Administration Guide: Basic Administration」中的第 19 章「Managing Software (Overview)」 |
如需本附錄中參考之特定指令的詳細資訊,請參閱下列線上手冊 |
「dircmp(1) 線上手冊」、「fssnap(1M) 線上手冊」、「ps(1) 線上手冊」、「truss(1) pkgadd(1M), pkgchk(1M) 線上手冊」或「pkgrm(1M) 線上手冊」 |
Solaris Live Upgrade 的簡介 | |
自訂 JumpStart 的簡介 |
「Solaris 10 5/09 安裝指南:自訂 JumpStart 及進階安裝」中的第 2 章「自訂 JumpStart (簡介)」 |
Solaris Zones 的簡介 |
本章提供升級 Solaris 作業系統之前,使用修補程式分析器檢查修補程式的說明。如果您要升級至跟隨初始 Solaris 10 3/05 發行版本的其中一個發行版本,修補程式分析器會分析您的系統。
Solaris 10 1/06 發行版本
Solaris 10 6/06 發行版本
Solaris 10 11/06
Solaris 10 8/07
Solaris 10 5/08
Solaris 10 10/08
如果已正在執行 10 3/05 發行版本作業系統,並已安裝個別的修補程式,則升級至後續的 Solaris 10 發行版本會導致下列情況發生:
任何隨附於上述任一發行版本的修補程式,均會再次套用到您的系統。這些修補程式將無法恢復。
系統先前已安裝但不包含於上述任一發行版本內的修補程式,都將予以移除。
修補程式分析器會分析您的系統,決定升級至上述任一發行版本會移除哪些修補程式 (如果存在)。修補程式分析器可以有下列使用方式。
如果使用 Solaris 安裝 程式進行升級,就會出現 [修補程式分析器] 對話方塊。選取 [是] 以執行分析。
如果使用文字介面安裝程式進行升級,請選取 [分析修補程式] 對話方塊中的 [分析] 以執行分析。
如果使用自訂 JumpStart 安裝或 Solaris Live Upgrade 進行升級,請執行 analyze_patches 程序檔來執行分析。如需有關的詳細指示,請參閱執行 analyze_patches 程序檔。
執行分析之後,請參閱檢查修補程式分析器的輸出結果以取得有關修補程式分析結果的詳細資訊。
若要執行 analyze_patches 程序檔,則已安裝的系統、Solaris Operating System DVD、Solaris Software CD 或網路安裝影像都必須能夠由程序檔透過 NFS 或是透過本機掛載媒體進行存取。
變更為 Misc 目錄。
在此範例中,影像位於本機掛載的媒體上。
# cd /cdrom/cdrom0/Solaris_10/Misc |
執行 analyze_patches 程序檔。
# ./analyze_patches -R rootdir -N netdir -D databasedir |
rootdir 是已安裝系統的根。預設是 /。
netdir 是要安裝的作業系統影像之根的路徑。預設是 /cdrom/cdrom0。netdir 是包含 Solaris_10 目錄的目錄路徑。如果要從 NFS 裝載點執行 patch_analyzer,您必須使用這個選項。
如果程序檔是從一個目錄啟動而不是從作業系統影像中的 Misc/ 目錄啟動,這個程式就會找不到其用於修補程式分析的資料庫。可使用 -D 選項提供資料庫的路徑。如果沒有這個資料庫 (位於作業系統影像上的 Solaris_10 /Misc/database),程序檔便無法正常運作。
執行分析之後,請使用這些步驟來檢查輸出結果。
檢查修補程式分析器的輸出結果。
修補程式分析器提供了一份可移除、降級、累加或由其他修補程式取代的修補程式清單。修補程式累加和修補程式升級相似。將會刪除累加的修補程式,其修復由新的修補程式提供。此時將出現下列訊息:
Patch 105644-03 will be removed. Patch 105925 will be downgraded from -02 to -01. Patch 105776-01 will be accumulated/obsoleted by patch 105181-05. |
如果修補程式分析器未提供這份清單,就不會根據先前已安裝於系統的修補程式而產生任何行為。
決定是否接受取代或刪除修補程式。
如果是,就會升級系統。
如果不是,就不會升級系統。