Oracle® Solaris 11.2 시스템 설치

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

매니페스트 만들기 도구 사용

svcbundle 명령을 사용하여 유효한 서비스 매니페스트를 생성할 수 있습니다. 다음 예에서 기본적으로 svcbundle 명령으로 생성된 매니페스트는 일시적 서비스를 지정하고 multi-user 종속성을 지정합니다.

예 13-3  생성된 SMF 서비스 매니페스트

다음 명령에서 처음 부트 시 실행할 스크립트 만들기에 표시된 스크립트의 이름은 start-method 값으로 지정됩니다. Creating an IPS Package for the Script and Service에서 만든 패키지가 스크립트 및 서비스에 대한 IPS 패키지 만들기 스크립트를 /opt/site/first-boot-script.sh로 설치하므로 스크립트의 이름은 /opt/site/first-boot-script.sh로 지정됩니다.

다음 명령에서 completed 등록 정보는 등록 정보 그룹 이름, 등록 정보 이름, 등록 정보 유형, 초기 등록 정보 값을 콜론으로 구분된 목록으로 지정합니다.

$ svcbundle -s service-name=site/first-boot-script-svc \
-s start-method=/opt/site/first-boot-script.sh \
-s instance-property=config:completed:boolean:false \
> first-boot-script-svc-manifest.xml

아래 표시된 생성된 서비스 매니페스트에서 처음 부트 스크립트 /opt/site/first-boot-script.shstart 메소드의 exec 속성 값입니다. completed 등록 정보는 이 서비스의 기본 인스턴스인 first-boot-script-svc:default를 정의하는 instance 요소에 지정됩니다.

<?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>
        <exec_method timeout_seconds="60" 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>