Go to main content

手册页部分 1:用户命令

退出打印视图

更新时间: 2018年8月8日 星期三
 
 

svcio (1)

名称

svcio - 根据服务配置属性创建文本文件

用法概要

/lib/svc/bin/svcio [-alux] [-D name=value]... [-f FMRI-instance]
	 [-g group] [-i file] [-m mode] [-o file]
	 [-O owner] [-R dir [-L opts [-p]]] [-S dir]

描述

svcio 实用程序读取称为 stencil 的模板,然后根据该文件并结合服务实例中的属性输出文本。通常,svcio 用于为受 SMF 管理但无法从其读取其配置的服务生成应用程序特定的配置文件。

如果 stencil 本身包含任何错误,svcio 将提供一段文字以及行号和错误原因。除非错误阻止进一步操作,否则将按错误在文件中出现的顺序输出每个错误。

标准错误流将列显错误消息。

选项

支持以下选项:

–a

处理为实例配置的所有文件。

具体来说,svcio 将查找类型为 "configfile" 的所有属性组,并通过检查相应属性组中属性 pathstencil 的值来确定要使用的 stencil 以及在何处写入生成的文件。例如,如果属性组 "conf1" 属于相应类型,则 svcio 将使用 "conf1/stencil" 的值作为 stencil 文件的路径,使用 "conf1/path" 作为向其写入输出的文件的路径。此外,可选属性 ownergroup 可以分别用于设置输出文件的所有者和组。如果属性组名称或属性名称包含保留字符,则必须对其进行编码。如果属性组嵌套在另一个属性组中,则还必须对其进行编码,并指示属性组的完整祖先。有关更多信息,请参见 smf(7) 手册页。

–D name=value

在不带参数的情况下,将 name 定义为宏,它提供指定值的简单文本替换。这些宏还可以指定为名为 defines 的属性组中的属性,该属性组嵌套在指定 stencil 的 configfile 属性组中,并且将仅在相应的上下文中可用。

–f FMRI-instance

要对其运行 stencil 的服务实例的 FMRI。

–g group

输出文件要与之关联的组。

–i file

stencil 文件的路径(缺省为 stdin)此选项不能与 –a 选项一起使用。

–l

列出要输出文件时引用的所有属性。

–L opts

指定回送挂载输出文件时要传递到 mount(2) 的选项。如果未指定此选项,则将不回送挂载输出文件。此选项必须与 –R 开关一起使用。常规文件将写入指定的输出路径(根目录为前缀)。此文件将回送挂载到指定的输出路径(根目录为 /–R 选项值)。

–m mode

设置任何输出文件的模式(缺省为 644)。

–o file

输出文件的路径(缺省为 stdout)。此选项不能与 –a 选项一起使用。

–O owner

设置输出文件的所有者。

–R prefix

设置所有输出文件的根前缀。

–p

在根目录为 –R 选项值的输出文件路径中创建不存在的中间目录。请注意,此选项不创建挂载点路径中缺少的目录。

–S dir

在此目录而非缺省目录中查找 stencil。

–u

解除输出文件链接,并撤消回送挂载。将不创建输出文件。

–x

终止第一个错误中的 svcio,而不是继续前进到下一个 stencil。

操作数

支持下列操作数:

FMRI

故障管理资源标识符 (Fault Management Resource Identifier, FMRI),用于指定一个或多个实例(请参见 smf(7))。可以通过指定实例名称或服务名称的结尾部分使用 FMRI 的缩写形式。例如,以下给定的 FMRI:

svc:/network/smtp:sendmail

以下是有效的缩写形式:

sendmail
:sendmail
smtp
smtp:sendmail
network/smtp

以下是无效的缩写形式:

mail
network
network/smt

如果 FMRI 指定了一个服务,则该命令适用于此服务的所有实例,但与 –D 选项结合使用除外。

FMRI 的缩写形式不稳定,不应在脚本或其他永久性工具中使用。

FMRI-instance

用于指定实例的 FMRI。

示例

示例 1 处理实例的所有配置文件

此示例处理某个实例的所有配置文件:

example% svcio -a -f svc:/service:instance
示例 2 删除实例的所有配置文件

此示例解除链接并卸载某个实例的所有配置文件:

example% svcio -au -f svc:/service:instance
示例 3 将未配置的 stencil 用于实例

此示例根据尚未配置的 stencil 生成输出文件:

example% svcio -o /etc/svc.conf -i ~/svc.stencil \
       -f svc:/service1:instance

退出状态

将返回以下退出值:

0

命令调用成功。

1

系统调用失败导致发生致命错误。

2

指定的命令行选项无效。

3

意外 SMF 错误导致发生致命错误。

4

解析 stencil 时出错。

属性

有关下列属性的说明,请参见 attributes(7)

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)

另请参见

svcprop(1)svcs(1)stat(2)libscf(3LIB)smf_stencil(5)smf(7)svc.startd(8)svcadm(8)svccfg(8)