非作用中啟動環境是作業環境的副本,而不是目前執行系統的副本。Live Upgrade 或自訂 JumpStart 程式所使用的套裝軟體必須遵循下列需求:
在不使用使用者互動的情況下啟用自訂 JumpStart 安裝或升級
請勿對目前執行中的系統做任何修改,但在使用 Solaris Live Upgrade 時則需要修改
以下清單用來解釋互動式啟動環境需求的相容性。
要成功安裝一個作業系統,套裝軟體必須能識別並正確遵守互動式啟動環境中的相關設定。
套裝軟體可以在其 pkgmap 檔案 (套裝軟體對映) 中包含絕對路徑。如果這些檔案存在,其相對於 pkgadd 指令的 -R 選項進行寫入。同時包含絕對與相對 (可重定位的) 路徑的套裝軟體也可以安裝至一個替代根 (/)。$PKG_INSTALL_ROOT 同時前置於絕對與可重定位的檔案,因此在透過 pkgadd 進行安裝時能夠正確解析所有路徑。
使用 pkgadd -R 選項安裝或使用 pkgrm -R 選項移除的套裝軟體,不得修改目前執行中的系統。
任何使用 pkgadd 指令 -R 選項安裝或使用 pkgrm 指令 -R 選項移除的套裝軟體隨附的程序檔,不得修改目前執行中的系統。所有提供的安裝程序檔必須參照任何以變數 $PKG_INSTALL_ROOT 為字首的目錄或檔案。套裝軟體必須寫入所有以 $PKG_INSTALL_ROOT 為字首的目錄與檔案。套裝軟體不得移除沒有以 $PKG_INSTALL_ROOT 為字首的目錄。表 G–2 有提供正確撰寫程序檔之語法範例。
表 G–2 安裝程序檔語法範例
$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 |