'\" te .\" Copyright (c) 2010, 2013, Oracle and/or its affiliates.All rights reserved. .TH smf_template 5 "2011 年 12 月 28 日" "SunOS 5.11" "标准、环境和宏" .SH 名称 smf_template \- 对服务元数据的服务管理框架支持 .SH 描述 .sp .LP 模板由服务开发者定义,用于在整体上说明关于服务的元数据或说明服务的各个配置属性,包括便于阅读的说明以及有效配置的定义。 .sp .LP 通过 SMF 命令为管理员提供访问模板的权限,这些命令用于描述配置值以及根据模板验证配置。 .sp .LP 工具开发者可以使用模板为服务配置提供更有帮助的用户界面。 .SS "模板数据" .sp .LP 服务元数据在模板中定义为服务清单的一部分。 .SS "使用模板数据" .sp .LP 可以使用 \fBsvcs -lv\fR 和 \fBsvccfg describe\fR 命令以便于阅读的格式访问关于属性的元数据。 .sp .LP 可以使用 \fBsvccfg\fR(1M) 的 \fBvalidate\fR 子命令根据模板数据验证服务实例或清单。可以使用一组 \fBlibscf\fR(3LIB) 接口访问模板数据。 .SS "模板定义" .sp .LP 服务清单是定义模板的唯一接口。 .sp .LP 服务作者应该为服务特定的属性组以及它们所引入的属性提供模板元数据,包括 \fBcommon_names\fR、\fBdescriptions\fR、\fBchoices\fR 和 \fBconstraints\fR。在 C 语言环境中,服务作者必须至少为属性组和属性提供说明。服务作者不能为框架附带的属性组(如方法和相关项)提供模板元数据。 .sp .LP 有关为服务制作模板定义的示例,请参见\fB\fR“示例”部分。 .SS "模板编写" .sp .LP 对属性组的相关模板数据的所有模板接口搜索依次在实例、服务、服务的重启程序上执行,最后将全局执行。 .sp .LP 属性组模板由其作者定义,可以应用于特定实例、服务及其所有实例、重启程序的委托或者全局应用。典型服务作者在实例或服务上定义模板。在实例上定义的模板仅应用于该实例,可覆盖在服务上定义的该属性组的模板。在服务上定义的模板应用于该服务的所有实例。 .sp .LP 重启程序作者可以在其清单中定义模板,这些模板应用于使用其重启程序的任何服务(也称为\fB委托\fR)。SMF 框架作者在 \fBsvc:/system/svc/global\fR 的清单中为整个 SMF 框架熟知其含义的属性组定义了模板。 .sp .LP 如果模板已在全局定义或由重启程序定义,但又由服务或实例重新定义,将被标记为验证错误。服务作者可以只为其服务特定的且 SMF 框架未使用的属性组创建模板,从而避免这些错误。 .sp .LP 属性组模板也可以按名称或类型设置通配符。只有适用于属性组的最特定的模板定义才受支持。 .SS "模板详细信息" .SS "服务和实例模板" .sp .LP \fBtemplate\fR 元素定义模板块的开始。以下所有更深入的定义可包含在模板块中。\fBtemplate\fR 元素可包含在 \fBservice\fR 或 \fBinstance\fR 元素中。如果它包含在 \fBservice\fR 元素中,则应用于服务及该服务的所有实例。如果它包含在 \fBinstance\fR 元素中,则仅应用于服务的该实例。 .sp .LP 我们建议您尽可能地为整个服务定义模板数据。 .sp .in +2 .nf .fi .in -2 .SS "服务和实例通用名称" .sp .LP 整个服务或实例可以定义一个通用名称,用来描述服务/实例的用途。 .sp .in +2 .nf