创建定制 Oracle® Solaris 11.2 安装映像

退出打印视图

更新时间: 2014 年 7 月
 
 

创建和使用定制脚本

通过分发构造器,可以指定可用于基于要构建的映像类型在映像创建过程中进行定制的其他脚本。清单文件指向脚本,脚本会将通用映像转换为特定于介质的分发。这些脚本在清单文件的执行部分中引用。可以指定任意数量的定制脚本检查点。


注 - 脚本支持限于随应用程序软件包一起提供的任何未修改的缺省脚本。如果选择定制这些脚本,请先备份原始脚本。

此外,请注意清单文件的执行部分中指定的脚本会在映像创建过程中运行。执行部分不会引用预安装或安装后脚本。


    创建您自己的定制脚本时,请注意以下内容:

  • 脚本可以是 Python 程序、shell 脚本或二进制文件。

  • 脚本以其在清单文件的执行部分中列出的顺序执行。

  • 在脚本(shell 和 python 模块)内执行的命令的标准输出 (stdout) 和错误输出 (stderr) 记录在用于报告已完成构建或尝试构建的日志文件中。

如何创建和使用定制脚本

  1. 创建新脚本。
  2. 将新脚本添加到起始目录或者系统或网络上的其他位置。

    确保成为 root 角色的用户可以执行这些脚本。

  3. 通过在相应清单文件的执行部分中添加检查点来引用新脚本。

    要确定新检查点的位置,请查看设置构建检查点中有关缺省检查点的说明。

    确保为脚本指定完整路径。检查点以其在清单的执行部分中列出的顺序执行。

    在清单文件的执行部分中为新脚本添加引用时,必须指定可用于在该脚本执行其任务之前或之后暂停映像构建的检查点名称。或者,可以包括与检查点名称关联的定制消息。如果忽略该消息,脚本的路径将用作缺省检查点消息。在构建过程中,检查点运行时将显示检查点消息。


    注 - 对检查点名称使用有意义的名称,而不是使用数字。如果添加了新脚本,这些新脚本对应的新检查点将扰乱已编号的检查点顺序。

    以下示例检查点引用名为 "my-script" 的定制脚本。

    <checkpoint name="my-script"
            desc="my new script"
            mod_path="solaris_install/distro_const/checkpoints/custom_script"
            checkpoint_class="CustomScript">
            <args>/tmp/myscript.sh</args>
    </checkpoint>
  4. (u53ef选)指定作为检查点一部分的构建参数,如下所示。

    此处,{PKG_IMAGE_PATH} 被指定为参数部分中的构建参数。

    <checkpoint name="my-script"
            desc="my new script"
            mod_path="solaris_install/distro_const/checkpoints/my_script"
            checkpoint_class="CustomScript">
            <args>/tmp/myscript.sh {PKG_IMAGE_PATH}</args>
    </checkpoint>

    如果包括在检查点中,{PKG_IMAGE_PATH}{BOOT_ARCHIVE} 的值将由 distro_const 实用程序分别替换为 ZFS dataset/build_data/pkg_imageZFS dataset/build_data/boot_archive

  5. 构建映像。

    可以一步构建映像。或者,要检查构建状态,可以在各个检查点上停止然后重新启动构建。

    有关说明,请参见Chapter 3, 构建映像

  6. (u53ef选)构建完成后,可以查看用于报告构建过程的日志文件。

    构建输出会显示日志文件的位置。