預先建立程序檔可在建立時驗證歸檔檔案,並準備歸檔檔案 (尤其是差動歸檔檔案) 以備日後自訂。此程序檔還可以在歸檔檔案中建立使用者定義的區段。
預先部署程序檔可在安裝時驗證歸檔檔案,並準備歸檔檔案以備日後自訂。
部署後程序檔可在複製系統上重新配置新的系統影像。
重新啟動程序檔可在系統重新啟動後處理最終的重新配置。
如需有關建立程序檔的準則,請參閱建立自訂程序檔的準則。
驗證該軟體的內容和完整性。如果完整性被破壞,該程序檔無法建立歸檔檔案。
準備產品,以備日後在複製系統上自訂。
歸檔檔案建立期間,動態註冊其他安裝程序檔。
將訊息加入 Flash 建立摘要檔中。此訊息必須簡短,並且僅記錄程序檔的啟動、結束及結果。您可以在摘要區段內檢視結果。
建立預先建立程序檔。遵循建立自訂程序檔的準則中所述的準則。
將程序檔儲存在 /etc/flash/precreation 目錄中。
下列範例摘錄自預先建立程序檔。
若要將開始時間記錄在摘要區段中,請使用以下範例:
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
若要註冊部署程序檔和資料,可使用以下範例:
若要查看使用者定義的區段中的應用程式特定資料,可使用以下範例:
cp custom section $FLASHDIR/custom_sections/MyApp
若要將安裝成功記錄在摘要區段中,可使用以下範例:
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
預先建立程序檔可在歸檔檔案中建立使用者定義的區段,以提供特定的應用程式資訊。此區段會用於維護歸檔檔案。必須將此程序檔置於 $FLASH_DIR/sections 目錄中。Solaris Flash 歸檔檔案不處理使用者定義的區段。例如,區段中可包含對該歸檔檔案的描述,也可包含檢查應用程式完整性的程序檔。
使用者定義的區段應使用以下格式:
必須是行導向
必須以換行 (ASCII 0x0a) 字元結尾
每一行的長度不限
使用 base64 或類似演算法進行二進位資料編碼。
此程序檔在安裝歸檔檔案之前執行。如果此程序檔是用來驗證歸檔檔案的,則會保留在該歸檔檔案中。如果此程序檔是用來在複製系統上保留本機配置的,則會保留在複製系統中。此程序檔還可以分析和收集必要的本機資料,以備日後自訂。例如,在由即將要擷取的檔案覆寫之前,系統可以先儲存特定於用戶端的資訊。此資訊可在擷取後於最終階段使用。
建立預先部署程序檔。遵循建立自訂程序檔的準則中所述的準則。
將程序檔儲存在下列其中一個目錄中。
如果要驗證歸檔檔案,請儲存在 /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
此程序檔保留在歸檔檔案中,或儲存在複製系統上的本機目錄中,並且會在安裝後執行。此程序檔可在複製系統上重新配置新的系統影像。如果該程序檔儲存在歸檔檔案中,則變更會影響所有的複製系統。如果該程序檔儲存在複製系統上的本機目錄中,則變更僅影響該複製系統。例如,可以將預先部署程序檔所儲存的特定於用戶端的資訊套用至複製環境,以完成安裝。
部署後程序檔也可用於在安裝歸檔檔案後清除檔案,例如,清除 /var/adm 中的日誌檔。
並非所有的日誌檔都需要使用程序檔來清除。/var/tmp 中的日誌檔可在建立歸檔檔案時排除。
建立部署後程序檔。遵循建立自訂程序檔的準則中所述的準則。
將該程序檔儲存在下列其中一個目錄中:
若要影響所有的複製系統,請儲存在 /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 等。您可以使用重新啟動程序檔進行任何最終重新配置。
#!/bin/sh $FLASH_DIR/TestApplication/finalize_license