svcbundle 명령으로 생성된 서비스 매니페스트는 수정할 필요 없이 사용자 요구를 충족했을 수 있습니다. 다음 예는 서비스 매니페스트의 수정을 보여줍니다.
서비스 매니페스트를 수정할 경우 svccfg validate 명령을 사용하여 매니페스트가 여전히 유효한지 확인합니다.
예 13-4 사용자 정의 서비스 매니페스트: 스크립트 실행에 허용된 시간 늘리기생성된 서비스 매니페스트의 다음 복사본에서 exec_method 시간 초과 기본값인 60초가 start 메소드에 대해 증가했습니다. start 메소드에 처음 부트 스크립트를 실행할 충분한 시간이 있는지 확인하십시오.
<?xml version="1.0" ?>
<!DOCTYPE service_bundle
SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
Manifest created by svcbundle (2014-Jan-14 16:39:30-0700)
-->
<service_bundle type="manifest" name="site/first-boot-script-svc">
<service version="1" type="service" name="site/first-boot-script-svc">
<!--
The following dependency keeps us from starting until the
multi-user milestone is reached.
-->
<dependency restart_on="none" type="service"
name="multi_user_dependency" grouping="require_all">
<service_fmri value="svc:/milestone/multi-user"/>
</dependency>
<!--
Make sure the start method has adequate time to run the script.
-->
<exec_method timeout_seconds="360" type="method" name="start"
exec="/opt/site/first-boot-script.sh"/>
<!--
The exec attribute below can be changed to a command that SMF
should execute to stop the service. See smf_method(5) for more
details.
-->
<exec_method timeout_seconds="60" type="method" name="stop"
exec=":true"/>
<!--
The exec attribute below can be changed to a command that SMF
should execute when the service is refreshed. Services are
typically refreshed when their properties are changed in the
SMF repository. See smf_method(5) for more details. It is
common to retain the value of :true which means that SMF will
take no action when the service is refreshed. Alternatively,
you may wish to provide a method to reread the SMF repository
and act on any configuration changes.
-->
<exec_method timeout_seconds="60" type="method" name="refresh"
exec=":true"/>
<property_group type="framework" name="startd">
<propval type="astring" name="duration" value="transient"/>
</property_group>
<instance enabled="true" name="default">
<property_group type="application" name="config">
<propval type="boolean" name="completed" value="false"/>
</property_group>
</instance>
<template>
<common_name>
<loctext xml:lang="C">
<!--
Replace this comment with a short name for the
service.
-->
</loctext>
</common_name>
<description>
<loctext xml:lang="C">
<!--
Replace this comment with a brief description of
the service
-->
</loctext>
</description>
</template>
</service>
</service_bundle>$ svccfg validate first-boot-script-svc-manifest.xml예 13-5 사용자 정의 서비스 매니페스트: 비전역 영역 설치 후 스크립트 실행 확인
다음 서비스 매니페스트 발췌 부분에서는 비전역 영역이 모두 설치된 후 처음 부트 스크립트가 실행되도록 svc:/milestone/multi-user에 대한 종속성이 svc:/system/zones-install에 대한 종속성으로 변경됩니다.
<!--
The following dependency keeps us from starting until all
non-global zones are installed.
-->
<dependency restart_on="none" type="service"
name="ngz_dependency" grouping="require_all">
<service_fmri value="svc:/system/zones-install"/>
</dependency>