Solaris 9 安裝指南

附錄 C 附加的 SvR4 封裝需求(參考)

這份附錄是針對需要使用自訂 JumpStart 程式或 Solaris Live Upgrade 來安裝或移除套裝軟體(特別是協力廠商的套裝軟體)的系統管理者。遵循這些封裝需求將使自訂的 JumpStart 安裝維持非互動性,並避免修改目前運作的系統,因此您能夠使用 Solaris Live Upgrade 來進行升級。


註解 -

一個替代 root (/) 為作業環境的副本,而不是目前運作的系統。


封裝需求概述

為了使自訂 JumpStart 程式以及 Solaris Live Upgrade 能正確的執行,套裝軟體必須遵守 SvR4 封裝需求。該應用程式封裝開發者指南提供更多特定的封裝需求以及術語定義資訊,請特別參閱本章: "Advanced Package Creation Techniques" in Application Packaging Developer's Guide.

若要獲得新增與移除套裝軟體以及安裝管理檔案的基本資訊,請參閱"Managing Software (Overview)" in the System Administration Guide: Basic Administration。請同時參閱特定的線上援助頁。

若要獲得附錄中所參考指令的詳細資訊,請參閱線上援助頁,dircmp(1)fssnap(1M), ps(1),或 truss(1)

表 C-1列出套用至 Solaris Live Upgrade 或自訂 JumpStart 程式的資訊。

表 C-1 需求資訊

安裝方法 

記錄成文件的需求 

Solaris Live Upgrade 

自訂 JumpStart 程式 

自訂 JumpStart 程式以及 Solaris Live Upgrade 替代 Root (/) 需求

一個替代 root (/) 為作業環境的副本,而不是目前運作的系統。Live Upgrade 或自訂 JumpStart 程式所使用的套裝軟體必須遵循這些需求:

下列清單解釋了替代 root( /)相容性的需求。

$PKG_INSTALL_ROOT以及$BASEDIR 之間的差異概述

$PKG_INSTALL_ROOT為 root( /)新增套裝軟體的機器檔案系統位置。其設定為pkgadd指令的-R引數。例如,若是呼叫下列的指令:


# pkgadd -R /a SUNWvxvm

則在套裝軟體安裝期間$PKG_INSTALL_ROOT將前置於/a

$BASEDIR指向將會安裝可重定位套裝軟體物件的 relocatable基本目錄。在此只有安裝可重定位的物件。不可重定位的物件(那些在pkgmap檔案中擁有absolute路徑的物件)的安裝永遠相對於替代 root(/),而不是實際生效的$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

若是此套裝軟體使用下列的指令進行安裝:


# pkgadd -R /a SUNWtest

ls將安裝在/a/opt/sbin/ls ,但是ls2將安裝為/a/sbin/ls2

Solaris Live Upgrade 替代開機環境相容性

當使用 Solaris Live Upgrade 並建立新的開機環境時,請遵循這些可避免問題的準則。

可以使用各種指令來檢驗這些建立、修改與刪除檔案的需求。例如,dircmp或是fssnap指令可以用來檢驗該套裝軟體正確的運作。同時ps指令可以用來測試常駐程式相容性,以確定套裝軟體不會停止或啟動常駐程式。truss以及pkgadd指令可以測試執行期間套裝軟體安裝相容性,但是不一定能夠在所有狀況中生效。在下列範例中,truss指令刪除所有唯讀的、非$BASEDIR的存取並只顯示不存在於指定的替代(/)之中的非唯讀的路徑存取。


# BASEDIR=/a; export BASEDIR

# truss -t open /usr/sbin/pkgadd -R ${BASEDIR} SUNWvxvm \

2>&1> /dev/null | grep -v O_RDONLY | grep -v \

'open("'${BASEDIR}

若要獲得本節中所參考指令的詳細資訊,請參閱線上援助頁,dircmp(1)fssnap(1M) ps(1),或 truss(1)

相容於自訂 JumpStart 程式的升級

自訂 JumpStart 程式相容性可確定當套裝軟體成為傳統 Solaris 安裝公用程式的一部份時,將可被新增與移除,如以下所示:

自訂 JumpStart 程式相容性也確定該套裝軟體可以參與 Solaris 升級。若要擁有自訂 JumpStart 程式的相容性,套裝軟體也必須遵循"自訂 JumpStart 程式以及 Solaris Live Upgrade 替代 Root (/) 需求"中所概述的替代 root(/) 需求。

若要能夠有效的使用自訂 JumpStart 程式,必須能夠在不需經由使用者從提示符號輸入資訊的情況下新增或移除套裝軟體。若要避免使用者互動,請使用 pkgadd指令的-a選項設定新的管理檔案。該-a選項定義欲使用的安裝管理檔案以代替預設的管理檔案。使用預設的檔案可能會造成使用者需要從提示符號輸入更多資訊。您可以建立管理檔案以暗示pkgadd應該略過這些檢查並運用使用者確認來安裝套裝軟體。下列範例顯示如何使用pkgadd管理檔案。

下列為安裝管理檔案的範例,其避免pkgadd在安裝套裝軟體之前需要使用者用提示符號輸入確認。

mail=

instance=overwrite

partial=nocheck

runlevel=nocheck

idepend=nocheck

space=nocheck

setuid=nocheck

confiict=nocheck

action=nocheck

basedir=default

若要獲得詳細資訊,請參閱線上援助頁,admin( 4)pkgadd( 1M)