Solaris 9 12/03 安装指南

创建定制脚本

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

有关创建脚本的指南,请参见创建定制脚本的原则

创建创建前脚本

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

  1. 创建创建前脚本。按照创建定制脚本的原则中的原则进行操作。

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


实例 18–1 创建前脚本摘录

下面的示例是创建前脚本的摘录。



实例 18–2 创建前脚本

#!/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 归档文件不会处理用户定义段。例如,用户定义段可以包含归档文件的说明或者用来检查应用程序完整性的脚本。

用户定义段要求具有以下格式。

创建部署前脚本

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

  1. 创建部署前脚本。按照创建定制脚本的原则中的原则进行操作。

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

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

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

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


实例 18–3 部署前脚本

#!/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 中的日志文件。


  1. 创建部署后脚本。按照创建定制脚本的原则中的原则进行操作。

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

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

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


实例 18–4 部署后脚本

#!/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。您可以使用重引导脚本进行任何最终的重新配置。

  1. 创建重引导脚本。

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


实例 18–5 创建重引导脚本

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