您可以建立一個結束程序檔以在系統安裝了 Solaris 軟體之後,自動增加套裝軟體或修補程式。 藉由用結束程序檔來增加套裝軟體,你可以減少所需時間並確保您網站的不同系統上安裝了同樣的套裝軟體和修補程式。
當您在結束程序檔中使用 pkgadd( 1M) 或 patchadd( 1M) 指令時,請使用- R 選項將 /a 指定為根路徑。
範例 24-2 顯示增加套裝軟體的結束程序檔範例。
#!/bin/sh BASE=/a MNT=/a/mnt ADMIN_FILE=/a/tmp/admin mkdir ${MNT} mount -f nfs sherlock:/export/package ${MNT}1 cat>${ADMIN_FILE} <<DONT_ASK2 mail=root instance=overwrite partial=nocheck runlevel=nocheck idepend=nocheck rdepend=nocheck space=ask setuid=nocheck conflict=nocheck action=nocheck basedir=default DONT_ASK /usr/sbin/pkgadd -a ${ADMIN_FILE} -d ${MNT} -R ${BASE} SUNWxyz3 umount ${MNT} rmdir ${MNT} |
將目錄裝載到包含要安裝套裝軟體的伺服器上。
建立一個臨時套裝軟體管理檔 admin,讓 pkgadd( 1M) 指令在安裝套裝軟體時不會執行檢查或是問您問題。 在您增加套裝軟體時,使用臨時套裝軟體管理檔以維護使用者不干涉的自動安裝。
使用 -a 選項增加套裝軟體,指定套裝軟體管理檔案,並使用 -R 選項指定根目錄。
在過去,chroot( 1M) 是在結束程序檔環境中與 pkgadd 和 patchadd 指令一起使用。 只有在很少數的情況下,某些套裝軟體才不使用 -R 選項。 您必須在 /a 根目錄中建立一個虛擬 /etc/mnttab 根目錄,然後再發出 chroot 指令。
若要建立一個虛擬 /etc/mnttab 檔案,請將下行加入您的結束程序檔中:
cp /etc/mnttab /a/etc/mnttab