배포 생성자를 사용하여 빌드하려는 이미지의 유형을 기반으로 이미지 만들기 프로세스 중 사용자 정의하는 데 사용할 수 있는 추가 스크립트를 지정할 수 있습니다. 매니페스트 파일은 스크립트를 가리키며, 스크립트는 일반 이미지를 매체별 배포로 변환합니다. 이러한 스크립트는 매니페스트 파일의 실행 섹션에서 참조됩니다. 원하는 수의 사용자 정의 스크립트 체크포인트를 지정할 수 없습니다.
또한 매니페스트 파일의 실행 섹션에 지정된 스크립트가 이미지 만들기 프로세스 중에 실행됩니다. 실행 섹션은 사전 설치 또는 사후 설치 스크립트를 참조하지 않습니다.
사용자 정의 스크립트를 만드는 경우 다음 사항에 유의하십시오.
스크립트는 Python 프로그램, 셸 스크립트 또는 이진 파일일 수 있습니다.
스크립트는 매니페스트 파일의 실행 섹션에 나열된 순서로 실행됩니다.
스크립트(셸 및 python 모듈 모두) 내에서 실행된 명령의 표준 출력(stdout) 및 오류 출력 (stderr)은 완료되거나 시도된 빌드에 대해 보고하는 로그 파일에 캡처됩니다.
root 역할을 맡은 사용자가 이 스크립트를 실행할 수 있는지 확인합니다.
새 검사점을 설정할 위치를 결정하려면 빌드 검사점 설정에 설명된 대로 기본 검사점에 대한 설명을 검토하십시오.
스크립트의 전체 경로를 지정해야 합니다. 체크포인트는 매니페스트의 실행 섹션에 나열된 순서로 실행됩니다.
매니페스트 파일의 실행 섹션에 새 스크립트에 대한 참조를 추가할 경우 이 스크립트가 해당 작업을 수행하기 전이나 후에 이미지 빌드를 일시 중지하는 데 사용할 수 있는 체크포인트 이름을 지정해야 합니다. 선택적으로 체크포인트 이름과 연관된 사용자 정의 메시지를 포함시킬 수 있습니다. 이 메시지를 생략할 경우 스크립트의 경로가 기본 체크포인트 메시지로 사용됩니다. 체크포인트 메시지는 빌드 프로세스 중 체크포인트가 실행될 때 표시됩니다.
다음 체크포인트 예는 사용자 정의 스크립트인 “my-script”를 참조합니다.
<checkpoint name="my-script" desc="my new script" mod_path="solaris_install/distro_const/checkpoints/custom_script" checkpoint_class="CustomScript"> <args>/tmp/myscript.sh</args> </checkpoint>
여기서 {PKG_IMAGE_PATH}는 인수 섹션의 빌드 매개변수로 지정되었습니다.
<checkpoint name="my-script" desc="my new script" mod_path="solaris_install/distro_const/checkpoints/my_script" checkpoint_class="CustomScript"> <args>/tmp/myscript.sh {PKG_IMAGE_PATH}</args> </checkpoint>
체크포인트에 포함된 경우 {PKG_IMAGE_PATH} 및 {BOOT_ARCHIVE} 값은 distro_const 유틸리티를 통해 각각 ZFS dataset/build_data/pkg_image 및 ZFS dataset/build_data/boot_archive로 대체됩니다.
이미지는 한 단계로 빌드할 수 있습니다. 또는 체크포인트에서 빌드를 중지했다가 다시 시작하여 빌드 상태를 확인할 수 있습니다.
지침은 Chapter 3, 이미지 빌드를 참조하십시오.
빌드 출력에 로그 파일의 위치가 표시됩니다.