預先建立程序檔可用於在建立時驗證歸檔檔案,並準備歸檔檔案以便日後進行自訂,尤其是準備差動歸檔檔案。此程序檔也可以在歸檔檔案中建立使用者定義的區段。
預先部署程序檔可用於在安裝時驗證歸檔檔案,並準備歸檔檔案以便日後進行自訂。
部署後程序檔用於在複製系統上重新配置新的系統影像。
重新啟動程序檔用於在系統重新啟動後處理最終的重新配置。
如需建立程序檔的準則,請參閱建立自訂程序檔的準則。
驗證軟體的內容和完整性。如果完整性被破壞,程序檔將無法建立歸檔檔案。
準備產品以便日後在複製系統上進行自訂。
在建立歸檔檔案時,動態註冊其他安裝程序檔。
加入訊息至建立 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