Oracle Solaris 10 9/10 安装指南:自定义 JumpStart 和高级安装

创建 custom_probes 文件

规则关键字和值探测关键字和值描述的规则关键字和探测关键字可能无法完全满足您的需求。可以通过创建 custom_probes 文件,自定义规则关键字或探测关键字。

custom_probes 文件是一个 Bourne shell 脚本,它包含两种函数。您必须将 custom_probes 文件保存在保存了 rules 文件的同一 JumpStart 目录中。您可以在 custom_probes 文件中定义的两种函数如下:

custom_probes 文件的语法

custom_probes 文件可以包含任何有效的 Bourne shell 命令、变量或算法。


注 –

您可以在 custom_probes 文件中定义需要单个变量的探测函数和比较函数。当您在 rules 文件中使用相应的自定义探测关键字时,关键字后面的变量将被解释(为 $1)。

rules 文件中使用相应的自定义规则关键字时,将依次解释这些变量。该序列在关键字之后开始,并在下一个 && 或开始脚本(先出现的项)之前结束。


custom_probes 文件必须满足以下要求:

为提高明确性和改善结构,请首先在文件的顶部定义所有的探测函数,后跟所有的比较函数。

custom_probes 中的函数名称的语法

探测函数的名称必须以 probe_ 开头。比较函数的名称必须以 cmp_ 开头。

probe_ 开头的函数定义新的探测关键字。例如,函数 probe_tcx 定义新的探测关键字 tcx。以 cmp_ 开头的函数定义新的规则关键字。例如,cmp_tcx 定义新的规则关键字 tcx

Procedure创建 custom_probes 文件

  1. 使用文本编辑器创建 Bourne shell 脚本文本文件。将该文件命名为 custom_probes

  2. custom_probes 文本文件中,定义您的探测函数和比较函数。


    注 –

    您可以在 custom_probes 文件中定义需要变量的探测函数和比较函数。当您在 rules 文件中使用相应的自定义探测关键字时,关键字后面的变量将依次被解释(为 $1、$2,依此类推)。

    rules 文件中使用相应的自定义规则关键字时,将依次解释这些变量。该序列在关键字之后开始,并在下一个 && 或开始脚本(先出现的项)之前结束。


  3. custom_probes 文件保存在 JumpStart 目录中的 rules 文件旁边。

  4. 确保 root 拥有 rules 文件,并且权限设置为 644。

custom_probes 文件和关键字的示例

在以下目录中可以找到探测函数和比较函数的其他示例:

下面的 custom_probes 文件包含测试 TCX 图形卡是否存在的探测函数和比较函数。


示例 5–1 custom_probes 文件

#!/bin/sh
# 
# custom_probe script to test for the presence of a TCX graphics card.
# 

# 
# PROBE FUNCTIONS
# 
probe_tcx() {
  SI_TCX=`modinfo | grep tcx | nawk '{print $6}'`
  export SI_TCX
}

# 
# COMPARISON FUNCTIONS
# 
cmp_tcx() {
  probe_tcx

  if [ "X${SI_TCX}" = "X${1}" ]; then
     return 0
  else
     return 1
  if
}

下面的示例 rules 文件显示如何使用前面示例中定义的探测关键字 tcx。如果 TCX 图形卡已安装并在系统中被找到,则运行 profile_tcx。否则,运行 profile


注 –

总是将探测关键字放置在 rules 文件的开头或开头附近。这样,可确保在其他可能依赖于这些探测关键字的规则关键字之前读取和运行这些关键字。



示例 5–2 自定义在 rules 文件中使用的探测关键字

probe tcx
tcx     tcx     -     profile_tcx     -
any     any     -     profile         -