開始程序檔是您在 rules 檔案中指定之使用者定義的 Bourne shell 程序檔。開始程序檔會在 Solaris 軟體安裝到系統上之前執行作業。只有在使用自訂 JumpStart 來安裝 Solaris 軟體時,才能使用開始程序檔。
使用開始程序檔來執行下列其中一項作業:
建立導出設定檔
升級之前先備份檔案
記錄安裝的持續時間
請勿在程序檔中指定某些會造成初始安裝或升級安裝時,檔案系統無法掛載至 /a 的動作。如果 JumpStart 程式無法將檔案系統掛載至 /a,就會發生錯誤,使安裝失敗。
3安裝時,開始程序檔的輸出會存放在 /tmp/begin.log。安裝完畢後,記錄檔會重新導向至 /var/sadm/system/logs/begin.log。
可以在您的開始程序檔中使用自訂 JumpStart 環境變數。如需環境變數的清單,請參閱自訂 JumpStart 環境變數。
將開始程序檔儲存在 JumpStart 目錄中。
若為 Solaris 10 發行版本,媒體上已提供了一個範例 JumpStart 程序檔 set_nfs4_domain,可避免在安裝 JumpStart 時顯示提示。此程序檔會抑制安裝時顯示的 NFSv4 提示。已不再需要這個程序檔,從 Solaris 10 5/09 發行版本開始,請使用 sysidcfg 關鍵字 nfs4_domain 來抑制提示。set_nfs4_domain 程序檔已無法用來抑制提示。
如果您已安裝非全域區域,且 sysidcfg 檔案中存在新的 nfs4_domain 關鍵字,則非全域區域第一次啟動時即會設定網域。否則,Solaris 互動式安裝程式會提示您提供網域名稱,才可以完成啟動程序。
請參閱「Oracle Solaris 10 9/10 安裝指南:網路安裝」中的「nfs4_domain 關鍵字」
衍生設定檔是由開始程序檔在自訂 JumpStart 安裝時動態建立的設定檔。當您無法設定 rules 檔案,針對特定系統與設定檔進行比對時,就必須使用衍生設定檔。例如,您可能需要使用具有不同硬體元件的相同系統模型 (如包含不同框架緩衝區的系統) 所衍生的設定檔。
若要設定使用衍生設定檔的規則,必須執行下列作業:
當系統符合設定檔欄位設成等號 (=) 的規則時,開始程序檔會建立衍生設定檔,用於在系統上安裝 Solaris 軟體。
以下是一個開始程序檔的範例,它每次都建立相同的衍生設定檔。您可以撰寫一個開始程序檔,以依據規則的評估來建立其他衍生設定檔。
#!/bin/sh echo "install_type initial_install" > ${SI_PROFILE} echo "system_type standalone" >> ${SI_PROFILE} echo "partitioning default" >> ${SI_PROFILE} echo "cluster SUNWCprog" >> ${SI_PROFILE} echo "package SUNWman delete" >> ${SI_PROFILE} echo "package SUNWolman delete" >> ${SI_PROFILE} echo "package SUNWxwman delete" >> ${SI_PROFILE} |
在此範例中,開始設定檔必須使用 SI_PROFILE 環境變數做為衍生設定檔的名稱,預設會設定成 /tmp/install.input。
如果開始程序檔用來建立衍生設定檔,請確定程序檔正確無誤。因為衍生程序檔要到開始程序檔執行時才會建立,所以 check 程序檔不會驗證衍生設定檔。
可包含開始程序檔和結束程序檔以追蹤安裝的開始時間和結束時間。請參閱下面的範例。
# more begin-with-date #!/bin/sh # echo echo "Noting time that installation began in /tmp/install-begin-time" echo "Install begin time: `date`" > /tmp/install-begin-time echo cat /tmp/install-begin-time echo # |
# more finish*with*date #!/bin/sh # cp /tmp/install-begin-time /a/var/tmp echo echo "Noting time that installation finished in /a/var/tmp/install-finish-time" echo "Install finish time: `date`" > /a/var/tmp/install-finish-time echo cat /a/var/tmp/install-finish-time # |
開始時間和結束時間都會記錄在 finish.log 檔案中。