預先建立程序檔可以在建立時驗證歸檔,並準備歸檔 (尤其是差動歸檔) 以用於日後自訂。此程序檔還可以在歸檔中建立 User-defined 區段。
Predeployment 程序檔可以在安裝期間驗證歸檔,並準備歸檔以用於日後自訂。
Postdeployment 程序檔可以在複製系統上重新配置新系統影像。
Reboot 程序檔可以在重新啟動系統後處理最終的重新配置。
如需有關建立程序檔的準則,請參閱建立自訂程序檔的準則。
此程序檔在歸檔建立期間執行。此程序檔具有多種用途。
驗證該軟體的內容和完整性。如果完整性被破壞,程序檔將無法建立歸檔。
準備產品,以用於日後在複製系統上自訂。
歸檔建立期間,動態註冊其他安裝程序檔。
將訊息增加至 Flash 建立摘要檔中。此訊息必須簡短,並且僅記錄程序檔的啟動、結束及結果。您可以在 Summary 區段中檢視結果。
建立預先建立程序檔。請遵循建立自訂程序檔的準則中描述的準則。
將程序檔儲存在 /etc/flash/precreation 目錄中。
以下範例摘錄自預先建立程序檔。
若要將開始時間記錄在 Summary 區段中,請使用以下範例:
echo "MyApp precreation script started">> $FLASHDIR/summary
若要檢查軟體的完整性,請使用 flcheck 指令。此指令不能在指令列中使用。該指令語法如下:
flcheck software component files and directories ...| - |
例如,若要驗證檔案和目錄,請使用以下範例:
flcheck software component files and directories If Not in selection - refuse creation echo "Myapp Integrity Damage">>$FLASHDIR/summary
或者,若要保留意外的新檔案和目錄,且不使歸檔建立失敗,請使用以下範例:
flcheck software component files and directories If Not in selection include by force flinclude software component
若要註冊部署程序檔和資料,請使用以下範例:
若要查看 User-defined 區段中應用程式特定的資料,請使用以下範例:
cp custom section $FLASHDIR/custom_sections/MyApp
若要將安裝成功記錄在 Summary 區段中,請使用以下範例:
echo "product one flash preparation started." >>$FLASH_DIR/summary ... echo "product one flash preparation finished successfully">>$FLASH_DIR/summary
#!/bin/sh echo "Test precreation script started" >> $FLASH_DIR/summary cat /opt/TestApp/critical_file_list | flcheck - if [ $? != 0 ]; then echo "Test precreation script failure" >> $FLASH_DIR/summary exit 1 fi echo "Test precreation script started" >> $FLASH_DIR/summary /opt/TestApplication/license_cloning $FLASH_DIR/predeployment/.TestApplicationLicenceTransfer \ $FLASH_DIR/custom_sections/TestApplicationLicenceCounter echo "Test precreation script finished" >> $FLASH_DIR/summary exit 0
預先建立程序檔可以在歸檔中建立 User-defined 區段,以提供特定的應用程式資訊。此區段用於維護歸檔。必須將此程序檔置於 $FLASH_DIR/sections 目錄中。Solaris Flash 歸檔不處理 User-defined 區段。例如,區段可以含有歸檔的描述或含有用來檢查應用程式完整性的程序檔。
User-defined 區段要求具有以下格式:
必須是行導向
必須以換行 (ASCII 0x0a) 字元結束
各行的長度沒有限制
必須使用 base64 或類似演算法編碼二進位資料
此程序檔在安裝歸檔之前執行。如果此程序檔是用來驗證歸檔的,則會保留在歸檔中。如果此程序檔是用來在複製系統上保留本機配置的,則會保留在複製系統中。此程序檔還可以分析和收集必要的本機資料,以用於日後自訂。例如,可以在即將被擷取的檔案覆寫用戶端特定的資訊之前,儲存該資訊。然後,便可以在擷取後於最終階段使用此資訊。
建立 Predeployment 程序檔。請遵循建立自訂程序檔的準則中描述的準則。
將該程序檔儲存在以下其中一個目錄中:
如要進行歸檔驗證,請將其儲存在 /etc/flash/predeployment 目錄中。
如果要引用某個預先建立程序檔,請將其儲存在 $FLASH_DIR/preinstall 目錄中。
如果要將配置保留在複製系統上,請藉由 JumpStart 設定檔中的 local_customization 關鍵字,提供儲存在複製系統上的程序檔的路徑。
#!/bin/sh $FLASH_DIR/TestApplication/check_hardware if [ $? != 0 ]; then echo Unsupported hardware exit 1 fi $FLASH_DIR/TestApplication/check_licence_key if [ $? != 0 ]; then echo No license for this host exit 1 fi $FLASH_DIR/TestApplication/deploy_license_key \ $FLASH_DIR/TestApplication/.TestApplicationLicenceTransfer $FLASH_DIR/TestApplication/save_data_files $FLASH_DIR/flash exit 0
此程序檔將被保留在歸檔中,或儲存在複製系統上的本機目錄中,並在安裝後執行。此程序檔可以在複製系統上重新配置新系統影像。如果該程序檔儲存在歸檔中,則變更會影響所有複製系統。如果該程序檔儲存在複製系統上的本機目錄中,則變更僅影響該複製系統。例如,可以將由 Predeployment 程序檔儲存的用戶端特定的資訊套用至複製環境,以完成安裝。
Postdeployment 程序檔也可以用來在安裝歸檔後清除檔案。例如,可以清除 /var/adm 中的記錄檔。
並非所有記錄檔都需要使用程序檔來清除。建立歸檔後,可以排除 /var/tmp 中的記錄檔。
建立 Postdeployment 程序檔。請遵循建立自訂程序檔的準則中描述的準則。
將該程序檔儲存在以下其中一個目錄中:
若要影響所有複製系統,請將該程序檔儲存在 /etc/flash/postdeployment 目錄中。
若要僅影響本機複製系統,請藉由 JumpStart 設定檔中的 local_customization 關鍵字來提供儲存在複製系統上的程序檔的路徑。
#!/bin/sh $FLASH_DIR/TestApplication/clone_reconfiguration $FLASH_DIR/TestApplication/restore_data $FLASH_DIR/flash
此程序檔將被保留在歸檔中,並在重新啟動系統後執行。此程序檔會在系統重新配置後,進行所有最終配置。
在複製系統上安裝 Solaris Flash 歸檔後,將刪除某些主機特定的檔案,並為複製機器重新建立這些檔案。安裝程式使用 sys-unconfig(1M) 指令和 sysidtool(1M) 程式來刪除並重新建立主機特定的網路配置檔案。例如,重新建立的檔案包含 /etc/hosts、/etc/defaultrouter 與 /etc/defaultdomain。您可以使用 Reboot 程序檔進行所有最終重新配置。
#!/bin/sh $FLASH_DIR/TestApplication/finalize_license