cfgmgr 命令

用途

通过运行“配置规则”对象类中指定的程序来配置设备并可选择安装设备软件。

语法

cfgmgr [ -f | -s | -p 阶段 ] [ -我 设备 ] [ Drc 名称 | -我 名称 ] [ - ]

cfgmgr [ -f | -s | -p 阶段 ] [ -我 设备] [[ -我 名称 | Drc 名称] -c 连接] [ - ]

描述

cfgmgr 命令配置设备并可选择将设备软件安装在系统中。 可配置的设备由“配置规则”对象类控制,此对象类是“设备配置”数据库的一部分。 每条配置规则指定以下内容:

  • 要运行的可执行程序的完整路径名
  • 何时运行程序(与其他规则有关)
  • 在哪个阶段运行程序
系统引导期间,cfgmgr 命令会配置使用系统所需的所有设备。 系统引导是分两个步骤的过程:
  1. 称为阶段 1(phase 1),当内核被带入系统且已完成了引导文件系统的初始化时,此阶段就开始了。 在此阶段期间,会调用 cfgmgr 命令,并使用 -f 标志将此阶段指定为阶段 1。 cfgmgr 命令运行所有的阶段 1 配置规则,从而对基础设备进行配置。
  2. 阶段 2 执行开始,并调用具有 -s 标志的 cfgmgr 命令。

cfgmgr 命令可识别配置规则的三个阶段:

  • 阶段 1
  • 阶段 2(phase 2)(正常引导的第二个引导阶段)
  • 阶段 3(phase 3)(服务引导的第二个引导阶段)

cfgmgr 命令在调用期间运行指定阶段的所有规则(例如,-f 标志的阶段 1 规则)。 然而,如果使用了 -l 标志,cfgmgr 命令仅配置指定设备及其子设备。

如果调用 cfgmgr 命令但不使用阶段选项(例如,没有 -f-s-p 标志),那么此命令运行阶段 2 规则。 运行阶段 3 规则的唯一方法是使用 -p 标志。

每个阶段的配置规则是根据在seq。 该字段是整数,用于指定运行此规则的优先级(相对于此阶段的其他规则)。 指定的数字越高seq字段,优先级越低。 例如,在seq字段在值为 10 的规则之前执行。 有一个例外:seq0 的字段值表示 "不在乎" 条件,并且最后运行。 因此, aseq1 的字段值是最高优先级,首先运行。

当配置设备时,如果检测到任何未安装设备软件的设备,cfgmgr 命令会返回带有必须安装的设备软件包名称或其可能的名称列表的警告消息。 如果确定了具体的设备软件包名称,它将作为唯一的软件包名称显示在警告消息的下一行。 如果不能确定具体的软件包名称,那么将在单独的行上显示被冒号分隔的可能的软件包名称列表。 如果检测到多个未安装设备软件的设备,会为每个设备显示一个软件包名称或可能的软件包名称列表。

当检测到没有设备软件的设备时,系统将显示以下警告消息:

cfgmgr: 0514-621 WARNING: The following  device packages are
        required for device support but are not currently 
        installed.
devices.pci.22100020
devices.pci.14101800
devices.pci.scsi:devices.pci.00100300:devices.pci.NCR.53C825

在此示例中,找到两个设备缺少软件,且 cfgmgr 命令显示了必须安装的设备软件包名称。 第三个缺少软件的设备也找到了,但在此示例中,cfgmr 命令显示了几个可能的设备软件包名称。

为一个设备标识多个可能的软件包名称时,实际上仅其中一个名称是同安装介质上的设备软件包相对应的。 而这就是您必须安装的软件包。 然而,在一些情况中,会出现多个名称同安装介质上的实际软件包相对应。 这时,列表中的第一个软件包名称(安装介质上有其对应的设备软件包)就是必须安装的软件包。 如果 cfgmgr 命令与 -i 标志一起使用,接着将安装正确的软件包。

如果调用具有 -i 标志的 cfgmgr 命令,此命令会尝试为每个新检测到的设备自动安装设备软件。 -i 标志的 Device 变量指定安装介质的位置。 安装介质可以是硬件设备(比如磁带或软盘驱动器)、包含安装映像的目录或安装映像文件本身。

注:要保护“配置”数据库,请不要中断 cfgmgr 命令。 在此命令完成之前停止它可能会导致数据库毁坏。

标志

描述
-c 连接 指定配置特定目标设备时所需的连接信息。 请参阅有关特定设备的连接信息的 FC 和 FCoE 设备的目标配置 指示信息。
-u Drc 名称 指定外围组件互连 (PCI) 或虚拟插槽的 Drc name 变量以配置该插槽及其子插槽。 您可以使用 lsslot 命令获取设备的 Drc name 变量。
-f 指定 cfgmgr 命令运行阶段 1 配置规则。 运行时(系统启动后)此标志无效。
-i 设备 指定安装介质的位置。
-l 名称 指定命名设备以配置该设备及其子设备。
-p 阶段 指定 cfgmgr 命令运行指定的阶段。
-s 指定 cfgmgr 命令运行阶段 2 配置规则。
-v 指定冗长的输出。 cfgmgr 命令将有关它正操作的内容的信息写至标准输出。

配置规则

描述
phase 指定此规则属于阶段 1 还是阶段 2 或阶段 3(服务方式的第二个引导阶段)。
SEQ 指定此规则的相对优先级为一个整数。
规则 包含待执行程序的完整路径名的字符串。 该字符串也可以包含任何标志,但由于整个字符串与其在命令行中输入的一样运行,这些标志必须遵循程序名。

安全性

访问控制:只有 root 用户和 system 组成员可以拥有此命令的执行 (x) 访问权。

审计事件:

事件 信息
DEV_Configure 设备名

示例

这些示例基于包含以下信息的配置规则:
phase   seq        rule


1     10      /usr/lib/methods/defsys
1     12      /usr/lib/methods/deflvm


2     10      /usr/lib/methods/defsys
2     12      /usr/lib/methods/deflvm
2     13      /etc/methods/startusb
2     17      /etc/methods/cfgvlan -2
2     18      /usr/lib/methods/cfgrcnet
2     19      /usr/lib/methods/ptynode
2     20      /etc/methods/vconnode
2     20      /usr/lib/methods/startlft
2     22      /etc/methods/startrcm
2     25      /usr/lib/methods/starttty
2     27      /etc/methods/startsgio
2      0      /usr/lib/methods/defaio
2      0      /usr/lib/methods/def_posix_aio
2      0      /usr/lib/perf/cfg_perfstat load
2      0      /usr/lib/perf/load_blockset_ext


3     10      /usr/lib/methods/defsys
3     12      /usr/lib/methods/deflvm
3     13      /etc/methods/startusb
3     15      /usr/lib/methods/starttty
3     19      /usr/lib/methods/ptynode
3     20      /usr/lib/methods/startlft
3     20      /etc/methods/vconnode
3     22      /etc/methods/startrcm
3     27      /etc/methods/startsgio
  1. cfgmgr 命令与 -f 标志一起调用时,该命令获取所有相位 = 1 的配置规则并按以下顺序运行它们:
    /usr/lib/methods/defsys
    /usr/lib/methods/deflvm
    注: 在运行时期间不能使用 -f 标志。
  2. cfgmgr 命令与 -s 标志一起运行时,该命令获取相位 = 2 的所有配置规则并按以下顺序运行它们:
    /usr/lib/methods/defsys
    /usr/lib/methods/deflvm
    /etc/methods/cfgvlan -2
    /usr/lib/methods/cfgrcnet
    /usr/lib/methods/ptynode
    /etc/methods/vconnode
    /usr/lib/methods/startlft
    /etc/methods/startrcm
    /usr/lib/methods/starttty
    /etc/methods/startsgio
    /usr/lib/methods/defaio
    /usr/lib/methods/def_posix_aio
    /usr/lib/perf/cfg_perfstat load
    /usr/lib/perf/load_blockset_ext
  3. cfgmgr 命令与 -p 3 标志一起运行时,该命令获取相位 = 3 的所有配置规则并按以下顺序运行它们:
    /usr/lib/methods/defsys
    /usr/lib/methods/deflvm
    /etc/methods/startusb
    /usr/lib/methods/starttty
    /usr/lib/methods/ptynode
    /usr/lib/methods/startlft
    /etc/methods/vconnode
    /etc/methods/startrcm
    /etc/methods/startsgio
  4. 如果 cfgmgr 命令不与某个标志一起运行,那么该命令的功能同与 -s 标志一起使用时的功能是一样的。 结果,相位 2 按以下顺序运行:
    /usr/lib/methods/defsys
    /usr/lib/methods/deflvm
    /etc/methods/cfgvlan -2
    /usr/lib/methods/cfgrcnet
    /usr/lib/methods/ptynode
    /etc/methods/vconnode
    /usr/lib/methods/startlft
    /etc/methods/startrcm
    /usr/lib/methods/starttty
    /etc/methods/startsgio
    /usr/lib/methods/defaio
    /usr/lib/methods/def_posix_aio
    /usr/lib/perf/cfg_perfstat load
    /usr/lib/perf/load_blockset_ext
  5. 要配置与 scsi0 适配器连接的检测到的设备,请输入以下内容:
    cfgmgr -l scsi0
  6. 要配置连接到 -c 标志指定的连接的 fscsi0 适配器的子设备,请输入以下命令:
    cfgmgr -l fscsi0 -c "ww_name=0x5001738000330191,lun_id=0x1000000000000"
  7. 要在配置期间自动安装设备软件(使用包含在 /usr/sys/inst.images 目录中的软件),请输入以下内容:
    cfgmgr -i /usr/sys/inst.images

文件

描述
/usr/sbin/cfgmgr 指定命令文件。
/usr/include/sys/cfgdb.h 包含“配置规则”对象类中字段的数字表示法。