탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 시스템 Oracle Solaris 11.1 Information Library (한국어) |
다음 절차는 스크립트가 새로 설치된 시스템의 처음 부트 시에만 실행하고, 스크립트가 한번만 실행하도록 보증하는 방법을 보여줍니다.
이 간단한 서비스를 만드는 가장 쉬운 방법은 매니페스트 만들기 도구 사용에 표시된 대로 svcbundle 명령을 사용하는 것입니다.
서비스 매니페스트에 부울 완료 등록 정보를 정의하고 값을 false로 설정합니다. 예 13-3에서 매니페스트의 completed 등록 정보를 참조하십시오.
스크립트 끝에 svccfg 명령을 사용하여 completed 등록 정보를 true로 설정합니다. svcadm 명령을 사용하여 새 등록 정보 값으로 서비스를 새로 고칩니다. 예 13-1에서 샘플 스크립트 끝을 참조하십시오.
서비스 매니페스트에서 기본 서비스 인스턴스가 만들어지고 사용으로 설정됩니다. 스크립트에서 서비스가 사용 안함으로 설정됩니다. 처음 부트 스크립트를 종료할 때 SMF_EXIT_TEMP_DISABLE 종료 코드를 사용하여 서비스의 start 메소드를 종료하고 서비스를 일시적으로 사용 안함으로 설정합니다. 서비스가 사용 안함으로 설정되고 서비스의 stop 메소드가 실행되지 않습니다.
서비스를 일시적으로 사용 안함으로 설정하는 것이 영구적으로 사용 안함으로 설정하는 것보다 선호되는데, 더 쉽게 다시 사용으로 설정할 수 있기 때문입니다. 어떤 상황에서 영역 복제나 마이그레이션과 같이 완료된 구성 작업을 업데이트하려면 스크립트(및 서비스)를 다시 실행해야 합니다. 서비스가 영구적으로 사용 안함으로 설정된 경우 서비스를 다시 사용으로 설정하려면 svcadm enable 명령을 실행해야 합니다.
또한 서비스를 일시적으로 사용 안함으로 설정하는 것은 온라인 상태로 두는 것보다 선호됩니다. 온라인 상태의 서비스는 재부트할 때마다 작업 중인 것으로 나타날 수 있습니다. 이 예에서 서비스의 이름은 site/first-boot-script-svc입니다. 클라이언트를 부트한 후에 서비스가 disabled 상태임을 볼 수 있습니다.
$ svcs first-boot-script-svc STATE STIME FMRI disabled 8:24:16 svc:/site/first-boot-script-svc:default