您可以建立一個結束程序檔以在系統安裝了 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