JavaScript is required to for searching.
跳過導航連結
結束列印檢視
Oracle Solaris 10 8/11 安裝指南:Solaris Live Upgrade 與升級規劃     Oracle Solaris 10 8/11 Information Library (繁體中文)
search filter icon
search icon

文件資訊

前言

第 1 部分使用 Solaris Live Upgrade 升級

1.  Solaris 安裝規劃資訊的位置

2.  Solaris Live Upgrade (簡介)

3.  Solaris Live Upgrade (規劃)

4.  使用 Solaris Live Upgrade 建立啟動環境 (作業)

5.  使用 Solaris Live Upgrade 升級 (作業)

6.  失敗回復:轉至備用原始啟動環境 (作業)

7.  維護 Solaris Live Upgrade 啟動環境 (作業)

8.  在已安裝非全域區域的系統上升級 Oracle Solaris 作業系統

9.  Solaris Live Upgrade (範例)

10.  Solaris Live Upgrade (指令參考)

第 2 部分使用 Solaris Live Upgrade 升級和遷移至 ZFS 根池

11.  Solaris Live Upgrade 和 ZFS (簡介)

12.  針對 ZFS 執行 Solaris Live Upgrade (規劃)

13.  為 ZFS 根池建立啟動環境

14.  針對已安裝非全域區域的 ZFS 執行 Solaris Live Upgrade

第 3 部分附錄

A.  疑難排解 (作業)

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

防止修改目前的作業系統

使用絕對路徑

使用 pkgadd -R 指令

$PKG_INSTALL_ROOT$BASEDIR 之差異簡介

撰寫程序檔的準則

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

驗證套裝軟體

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

為各區域設定套裝軟體參數

背景資訊

C.  升級時使用修補程式分析器 (作業)

字彙表

索引

防止修改目前的作業系統

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

使用絕對路徑

若要成功地安裝作業系統,套裝軟體必須辨識並正確找出替代的根 (/) 檔案系統,例如 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 指令用來執行程序檔的解譯器。
X
X
程序檔不得啟動或停止任何程序,或依賴於如 pstruss 等指令的輸出,因為這些指令與作業系統相關,並報告目前正在執行之系統的相關資訊。
X
X
程序檔可以自由使用其他標準 UNIX 指令,如 exprcpls 以及其他幫助撰寫 shell 程序檔的指令。
X
X
程序檔呼叫的任何指令,都必須可以在所有支援的發行版本上使用,因為套裝軟體必須在這些發行版本上執行。因此,您無法使用 Solaris 8 發行版本之後增加或移除的指令。

若要驗證 Solaris 8、9 或 10 發行版本是否支援某特定指令或選項,請參閱 http://www.oracle.com/technetwork/indexes/documentation/index.html 上特定版本的「Solaris Reference Manual AnswerBook」。

X

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

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

驗證套裝軟體

所有套裝軟體均須通過 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}