验证软件的内容和完整性。如果完整性被破坏,脚本将终止创建归档文件。
为以后在克隆系统上的定制准备产品。
在创建归档文件期间,动态注册其它安装脚本。
向 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 predeployment script $FLASHDIR/preinstall/proc.d ln -s $FLASHDIR/preinstall/order.dS55.MyApp cp postdeployment script $FLASHDIR/postinstall/proc.d ln -s $FLASHDIR/postinstall/order.dS55.MyApp
要查看用户定义段中应用程序特有的数据,可以使用以下示例:
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 或类似算法来编码二进制数据。