Solaris 10 5/08 安装指南:Solaris Flash 归档文件(创建和安装)

创建自定义脚本

脚本可以自定义归档文件。使用这些脚本可以完成以下任务:

关于如何创建脚本,请参见创建自定义脚本指南

Procedure创建 Precreation 脚本

该脚本在创建归档文件期间运行。它有多种用途。

  1. 创建 Precreation 脚本。按照创建自定义脚本指南中描述的内容进行操作。

  2. 将脚本存储在 /etc/flash/precreation 目录中。


示例 3–1 Precreation 脚本摘录

以下示例是 Precreation 脚本的摘录。



示例 3–2 Precreation 脚本

#!/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

使用 Precreation 脚本创建 User-Defined 归档文件段

Precreation 脚本可以在归档文件中创建 User-Defined 段,以提供特定的应用程序信息。User-Defined 段用于维护归档文件。该脚本必须放在 $FLASH_DIR/sections 目录中。Solaris Flash 归档文件不处理 User-Defined 段。例如,User-Defined 段可包含归档文件的说明,或包含用来检查应用程序完整性的脚本。

User-Defined 段要求具有以下格式。

Procedure创建 Predeployment 脚本

该脚本将在安装归档文件之前运行。如果它用于验证归档文件,则将其保留在归档文件中;而如果它用于在克隆系统上保存本地配置,则将其保留在克隆系统中。该脚本还可以分析和收集以后自定义所需的本地数据。例如,可在要提取的文件覆写客户机特定的信息之前,将这些信息保存下来。以后,可在提取之后的最后阶段使用这些信息。

  1. 创建 Predeployment 脚本。按照创建自定义脚本指南中描述的内容进行操作。

  2. 将脚本存储到下面的目录之一。

    • 如果用于验证归档文件,请存储在 /etc/flash/predeployment 目录中。

    • 如果要引用 Precreation 脚本,请将脚本存储在 $FLASH_DIR/preinstall 目录中。

    • 如果要保留克隆系统上的配置,请在 JumpStart 配置文件中使用 local_customization 关键字提供指向存储在克隆系统上的脚本的路径。


示例 3–3 Predeployment 脚本

#!/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

Procedure创建 Postdeployment 脚本

该脚本保留在归档文件中或存储在克隆系统的本地目录中,它将在安装完成后运行。该脚本在克隆系统上重新配置一个新的系统映像。如果脚本存储在归档文件中,更改将影响所有的克隆系统。如果脚本存储在克隆系统的本地目录中,更改将只影响该克隆系统。例如,由 Predeployment 脚本保存的客户机特定信息将被应用到该克隆环境,以完成安装。

Postdeployment 脚本还可以在安装归档文件后清除文件。例如,可以清除 /var/adm 中的日志文件。


注 –

不是所有的日志文件都需要用脚本清除。创建归档文件时,可以不包括 /var/tmp 中的日志文件。


  1. 创建 Postdeployment 脚本。按照创建自定义脚本指南中描述的内容进行操作。

  2. 将脚本存储到下面的目录之一。

    • 要影响所有克隆系统,则将脚本存储在 /etc/flash/postdeployment 目录中。

    • 如果只希望影响本地克隆系统,则在 JumpStart 配置文件中使用 local_customization 关键字提供指向存储在克隆系统上的脚本的路径。


示例 3–4 Postdeployment 脚本

#!/bin/sh
$FLASH_DIR/TestApplication/clone_reconfiguration
$FLASH_DIR/TestApplication/restore_data $FLASH_DIR/flash

Procedure创建 Reboot 脚本

该脚本保留在归档文件中,将在重新引导系统后运行。该脚本在重新配置系统后执行所有的最终配置。

将 Solaris Flash 归档文件安装在克隆系统上之后,将删除某些主机特定的文件并为克隆计算机重建这些文件。安装程序使用 sys-unconfig(1M) 命令和 sysidtool(1M) 程序删除并重建主机特定的网络配置文件。例如,重建的文件包括 /etc/hosts/etc/defaultrouter/etc/defaultdomain。您可以使用 Reboot 脚本进行任何最终的重新配置。

  1. 创建 Reboot 脚本。

  2. 将该脚本存储在 /etc/flash/reboot 目录中。


示例 3–5 创建 Reboot 脚本

#!/bin/sh 
$FLASH_DIR/TestApplication/finalize_license