JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
사용자 정의 Oracle Solaris 11.1 설치 이미지 만들기     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

1.  사용자 정의 설치 이미지 만들기 개요

2.  사용자 정의 설치 이미지 설계

이미지 빌드를 위한 시스템 요구 사항

이미지 사용자 정의

샘플 매니페스트 파일

사용자 정의 이미지를 만들고 빌드하는 방법

매니페스트 컨텐츠 수정

이미지 제목 제공

부트 메뉴 수정

빌드 영역 지정

게시자 지정

설치할 패키지 나열

제거할 패키지 나열

설치된 시스템의 게시자 지정

빌드 검사점 설정

사용자 정의 스크립트 만들기 및 사용

사용자 정의 스크립트를 만들고 사용하는 방법

3.  이미지 빌드

색인

이미지 사용자 정의

배포판 구성자는 매니페스트 파일이라고 하는 XML 파일에 지정된 설정을 기반으로 이미지를 만듭니다. 매니페스트 파일에는 배포판 구성자를 사용하여 만드는 ISO 이미지의 컨텐츠 및 매개변수에 대한 지정 사항이 포함되어 있습니다. distribution-constructor 패키지는 사용자 정의 x86 라이브 매체 ISO, x86/SPARC 자동 설치 ISO 이미지 또는 x86/SPARC 텍스트 설치 ISO 이미지를 만드는 데 사용할 수 있는 샘플 매니페스트를 제공합니다.

각 매니페스트 파일의 요소는 필요한 ISO 이미지 유형을 만드는 미리 설정된 기본값을 제공합니다. 매니페스트 파일의 이러한 미리 설정된 요소를 수동으로 편집하여 생성되는 이미지를 사용자 정의할 수 있습니다. 또한 사용자 정의 스크립트를 만들어 설치 이미지를 추가로 수정할 수 있습니다. 그런 다음 매니페스트 파일에서 새 스크립트를 참조하십시오.

샘플 매니페스트 파일

distribution-constructor 패키지는 다음 표에서 설명된 샘플 매니페스트 파일을 제공합니다.

표 2-2 샘플 매니페스트

매니페스트 유형
매니페스트 위치
설명
x86 라이브 매체 ISO 이미지
/usr/share/distro_const/
dc_livecd.xml
Oracle Solaris 라이브 매체 이미지와 유사한 x86 ISO 이미지를 만드는 데 사용됩니다.
x86 텍스트 설치 이미지
/usr/share/distro_const/
dc_text_x86.xml
x86 Oracle Solaris 운영 체제의 텍스트 설치를 수행하는 데 사용할 수 있는 x86 ISO 이미지를 만드는 데 사용됩니다.
SPARC 텍스트 설치 이미지
/usr/share/distro_const/
dc_text_sparc.xml
SPARC Oracle Solaris 운영 체제의 텍스트 설치를 수행하는 데 사용할 수 있는 SPARC ISO 이미지를 만드는 데 사용됩니다.
x86 AI ISO 이미지
/usr/share/distro_const/
dc_ai_x86.xml
x86 클라이언트에 Oracle Solaris OS를 자동으로 설치하기 위한 x86 자동 설치 ISO 이미지를 만드는 데 사용됩니다.
SPARC AI ISO 이미지
/usr/share/distro_const/
dc_ai_sparc.xml
SPARC 클라이언트에 Oracle Solaris OS를 자동으로 설치하기 위한 SPARC 자동 설치 ISO 이미지를 만드는 데 사용됩니다.

사용자 정의 이미지를 만들고 빌드하는 방법

이 절차에서는 사용자 정의 이미지를 만들고 빌드하는 일반적인 단계를 설명합니다.

  1. 배포 생성자 응용 프로그램 및 샘플 매니페스트가 포함된 distribution-constructor 패키지를 설치합니다.

    패키지 관리자 도구를 사용하여 필요한 패키지를 설치할 수 있습니다. 패키지 관리자는 Oracle Solaris 운영 체제의 데스크탑에 있는 메뉴 표시줄에서 사용할 수 있습니다. 메뉴 표시줄에서 시스템>관리>패키지 관리자로 이동합니다.

    또는 다음과 같은 IPS 명령을 사용하여 이 패키지를 설치합니다.

    # pkg install distribution-constructor
  2. 샘플 매니페스트 중 하나를 복사한 다음 새 파일 이름의 사용자 정의 매니페스트 파일을 만듭니다.

    distro_const 명령을 사용하여 이미지를 만들 경우 매니페스트 파일을 이름으로 참조합니다.


    주 - 원본 매니페스트 파일과 기본 스크립트를 복사하기 전에 항상 이들을 백업하십시오.


  3. 매니페스트 요소를 편집합니다.

    예를 들어 매니페스트의 대상 요소를 편집하여 이미지를 구성할 수 있는 빌드 영역에 대해 다른 위치를 지정할 수 있습니다. 또한 게시자를 확인하여 시스템에서 해당 게시자에 연결하여 이미지를 빌드하는 데 필요한 패키지를 다운로드할 수 있는지를 확인할 수 있습니다. 필요한 경우 소프트웨어 이름 요소를 편집하여 다른 게시자 및 저장소 위치를 지정할 수 있습니다.

    자세한 내용은 매니페스트 컨텐츠 수정dc_manifest(4) 매뉴얼 페이지를 참조하십시오.

  4. (옵션) 사용자 정의 스크립트를 만들어 이미지를 추가로 수정합니다.

    새 스크립트를 만드는 경우 매니페스트 파일의 실행 섹션에서 스크립트 참조를 업데이트합니다.

    지침은 사용자 정의 스크립트 만들기 및 사용을 참조하십시오.

  5. distro_const 유틸리티를 실행하여 이미지를 만듭니다.

    지침은 3 장이미지 빌드를 참조하십시오.

매니페스트 컨텐츠 수정

각 매니페스트 파일의 모든 필드는 필요한 ISO 이미지 유형을 만드는 미리 설정된 기본값을 제공합니다. 매니페스트 파일의 이러한 미리 설정된 필드를 수동으로 편집하여 생성되는 이미지를 추가로 사용자 정의할 수 있습니다.

다음 표에서는 샘플 매니페스트 파일의 기본 요소를 설명합니다.

표 2-3 매니페스트 요소

요소
설명
<distro name="Oracle_Solaris_Text_X86"
add_timestamp="false">
선택적 시간 기록과 함께 이미지 이름을 지정합니다.
<boot_mods>
이미지에 대한 GRUB 메뉴 수정 사항을 지정합니다.
<target>
이미지가 빌드된 ZFS 빌드 데이터 세트를 정의합니다.
<software name="transfer-ips-install" type="IPS">
설치할 소프트웨어 패키지의 소스를 지정합니다.
<software_data action="install">
설치할 패키지를 나열합니다.
<software_data action="uninstall">
설치 제거할 패키지를 나열합니다.
<software name="set-ips-attributes">
설치가 완료된 후 IPS에 대해 다른 속성을 설정합니다.
<software name="ba-init">
부트 아카이브 컨텐츠를 지정합니다.

주의

주의 - 주의해서 수정하십시오. 부트 아카이브가 올바르지 않을 경우 설치된 시스템이 부트되지 않습니다.


<execution stop_on_error="true">
<checkpoint name="transfer-ips-install"/>
빌드 체크포인트를 나열합니다.
<configuration name="pre-pkg-img-mod" type="sysconf"
 
source="/etc/svc/profile/generic_limited_net.xml">
빌드 중 매체에 적용될 SMF 서비스를 지정합니다.

주의

주의 - 되도록이면 수정하지 마십시오.


이미지 제목 제공

다음 요소를 사용하여 빌드하려는 이미지의 사용자 정의 또는 기본 이름을 제공하십시오.

<distro name="Oracle_Solaris_Text_X86" add_timestamp="false">

일련의 이미지 빌드를 수행하고 증분 이미지를 보존하려는 경우, 시간 기록 변수를 “true”로 변경하면 시간 기록이 자동으로 각 이미지의 이름에 추가됩니다.

HTTP 프록시를 지정해야 하는 경우 프록시 변수를 포함하는 distro name 요소의 주석 처리를 해제한 다음 프록시 위치를 제공하십시오.

부트 메뉴 수정

이 부트 메뉴 요소는 이미지에 적용할 부트 메뉴 수정 사항을 지정합니다.

다음 예에서는 제목이 “boot1”인 특수화된 부트 메뉴가 이미지에 적용됩니다. 시간 초과 속성은 기본 부트 항목이 자동으로 활성화되기 이전 시간을 지정합니다.

<boot_mods title="boot1" timeout="5">

부트 메뉴 요소 내에서는 각 새 항목에 대해 새 boot_entry 요소를 추가하여 개별 부트 메뉴 항목을 추가할 수 있습니다. 각 부트 항목에 대한 “start” 또는 “end”의 insert_at 속성 값에 따라 순차적으로 부트 메뉴에 항목이 추가됩니다.


주 - 새 항목은 기존 "with magnifier” 항목 앞에 추가하십시오.


개별 boot_entry 요소의 다음 예를 참조하십시오.

<boot_entry>
   <title_suffix>with screen reader</title_suffix>
   <kernel_args>-B assistive_tech=reader</kernel_args>
</boot_entry>

자세한 내용은 dc_manifest(4) 매뉴얼 페이지를 참조하십시오.

빌드 영역 지정

대상 요소는 사용자 정의할 수 있습니다. 이 요소는 빌드에 사용될 ZFS 빌드 데이터 세트를 정의합니다. 이 데이터 세트는 이미지가 생성되는 영역입니다. 유효한 데이터 세트 위치를 제공해야 합니다. 기본 빌드 영역을 확인하여 빌드가 시스템에 보존해야 하는 컨텐츠를 삭제하지 않는지 확인해야 합니다. 필요한 경우 빌드 영역을 수정하십시오.


주 - 파일 시스템 이름에 zpool의 이름이 포함되어서는 안됩니다.


다음 예는 샘플 대상 요소를 보여 줍니다.

 <target>
   <logical>
     <zpool action="use_existing" name="rpool">
       <dataset>
         <filesystem name="dc/sample-dataset-location" 
         action="preserve"/>
       </dataset>
     </zpool>
   </logical>
 </target>

게시자 지정

다음 요소는 배포판 구성자가 이미지를 빌드하기 위해 다운로드하고 사용할 패키지를 가져올 수 있는 게시자를 지정합니다.

<software name="transfer-ips-install">

이 소프트웨어 이름 섹션 내에 중첩된 소스 요소에서 게시자 이름 및 원본 이름 요소를 편집하여 사용할 게시자 및 패키지 저장소의 위치를 지정하십시오. 저장소 위치는 NFS 경로 또는 로컬 디렉토리일 수 있습니다. 게시자가 여러 개 나열될 수 있습니다. 배포판 구성자가 설치할 패키지를 찾으려고 하면 여기에 나열된 순서로 게시자가 검색됩니다.

게시자에 대한 미러를 지정해야 하는 경우 미러 이름 요소의 주석 처리를 해제한 다음 이 요소를 편집하십시오.

다음 예는 소프트웨어 이름 요소 내에서 검색된 샘플 소스 요소를 보여 줍니다.

<source>
   <publisher name="publisher1">
      <origin name="http://example.oracle.com/primary-pub"/>
      <mirror name="mirror.example.com"/>
   </publisher>
   <publisher name="publisher2">
       <origin name="http://example2.com/dev/solaris"></origin>
   </publisher>
   <publisher name="publisher3.org">
       <origin name="http://example3.com/dev"></origin>
    </publisher>
</source>

게시자 사용에 대한 자세한 내용은 Oracle Solaris 11.1 소프트웨어 패키지 추가 및 업데이트를 참조하십시오.

설치할 패키지 나열

install 속성을 포함하는 software_data 요소는 사용 중인 매니페스트에 따라 특정 유형의 이미지를 빌드하기 위해 설치할 패키지 세트를 나열합니다. 예를 들어 dc_livecd.xml 매니페스트는 라이브 매체 이미지를 빌드하는 데 필요한 패키지를 나열합니다. 각 이름 태그는 하나의 패키지 이름을 나열하거나 여러 개의 패키지를 포함하는 그룹 패키지의 이름을 나열합니다.

<software_data action="install">
   <name>pkg:/group/system/solaris-desktop</name>
   <name>pkg:/system/install/gui-install</name>
   <name>pkg:/system/install/media/internal</name>
</software_data>

이미지에 추가할 패키지가 있는 경우 각 패키지에 대해 이름 태그를 추가하여 패키지 이름을 추가하십시오.

기본적으로 지정된 저장소에서 사용 가능한 가장 최근 패키지 버전이 나열됩니다. 다른 버전이 필요할 경우 다음 형식을 사용하여 패키지 참조에 버전 번호를 추가하십시오.

<name>pkg:/group/system/solaris-desktop@0.5.11-0.build#</name>

주 - 시스템의 Oracle Solaris 릴리스 버전은 배포 생성자에서 만들려는 이미지의 릴리스 버전과 동일해야 합니다.

또한 충돌하는 버전의 다른 패키지가 자동 설치 서비스의 매니페스트 파일에 지정된 대로 설치되고 있는 경우 지정된 특정 버전의 패키지는 설치되지 않을 수 있습니다. Oracle Solaris 11.1 시스템의 9 장, 설치 사용자 정의를 참조하십시오.


예 2-1 패키지 및 추가 게시자 추가

이 예에서는 또 다른 게시자인 mypublisher가 지정되었습니다. 추가 패키지 mypackage1mypackage2가 지정되었습니다.

빌드 프로세스 중 게시자는 나열된 순서로 확인됩니다. 첫번째 게시자에서 패키지를 찾을 수 없는 경우 다음 게시자에서 지정된 패키지를 검색합니다.

<software name="transfer-ips-install" type="IPS">
   <destination>
      <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
            href="/usr/share/distro_const/lang_facets.xml"/>
   </destination>
   <source>
      <publisher name="solaris">
          <origin name="http://pkg.oracle.com/solaris/release"/>
      </publisher>
      <publisher name="mypublisher">
         <origin name="http://mypublisher.company.com"/>
      </publisher>
   </source>
   <software_data action="install">
        <name>pkg:/group/system/solaris-large-server</name>
        <name>pkg:/system/install/text-install</name>
        <name>pkg:/system/install/media/internal</name>
        <name>pkg:/mypackage1</name>
        <name>pkg:/mypackage2</name>
   </software_data>
</software>

제거할 패키지 나열

uninstall 속성을 포함하는 software_data 요소를 사용하여 개별 패키지를 제거하거나 그룹 패키지 정의를 제거할 수 있습니다.


주 - 그룹 패키지 정의는 해당 그룹 내의 모든 개별 패키지를 그룹으로만 작동할 수 있는 하나의 단위로 바인드합니다.


uninstall 속성은 전체 그룹 패키지를 설치할 때 해당 그룹에서 하나 이상의 개별 패키지를 생략하려는 경우 특히 유용합니다. 먼저 uninstall 속성을 사용하여 그룹 패키지 정의를 제거할 수 있습니다. 그런 다음 그룹 패키지의 일부로 설치된 개별 패키지를 제거할 수 있습니다.

예를 들어, 라이브 매체 설치 이미지의 빌드를 선택했을 수 있습니다. 기본 라이브 매체 설치 이미지에는 데스크탑 그룹 패키지의 Firefox 브라우저가 포함되어 있습니다.

빌드하려는 이미지에서 Firefox 브라우저를 생략하려는 경우 다음을 수행하십시오.

  1. 일반적인 라이브 매체 데스크탑용 모든 소프트웨어를 포함하는 solaris-desktop 그룹 패키지를 설치하십시오. 설치할 패키지 나열을 참조하십시오.

  2. 다음과 같이 uninstall 속성을 사용하여 solaris-desktop 그룹 패키지 정의를 제거하십시오.

    <software_data action="uninstall">
       <name>pkg:/group/system/solaris-desktop</name>
    </software_data>

    주 - 그룹 패키지의 제거 작업은 그룹 패키지 정의만 제거합니다. 해당 그룹 내의 모든 개별 패키지가 첫번째 단계에 따라 여전히 설치되어 있습니다.


  3. 개별 패키지가 그룹 정의에 바인드되지 않았으므로 다시 uninstall 속성을 사용하여 Firefox 패키지를 제거할 수 있습니다.

    <software_data action="uninstall">
       <name>pkg:/web/browser/firefox</name>
    </software_data>

    또는 다음과 같이 2단계와 3단계를 하나의 항목으로 수행할 수 있습니다.

    <software_data action="uninstall">
            <name>pkg:/group/system/solaris-desktop</name>
            <name>pkg:/web/browser/firefox</name>
    </software_data>

설치 제거 섹션의 끝에 제거할 추가 패키지를 추가하십시오.

설치된 시스템의 게시자 지정

software name 요소는 배포 생성자를 사용하여 만든 이미지로 시스템이 설치된 후 시스템에 영향을 줍니다.

<software name="set-ips-attributes">

게시자 이름과 선택적 미러 이름을 제공하여 설치된 시스템이 다운로드 및 설치할 추가 패키지에 액세스할 수 있는 위치를 지정하십시오.

이 요소에 IPS 속성을 설정할 수도 있습니다. pkg(1) 매뉴얼 페이지 IPS 등록 정보를 참조하십시오.

빌드 검사점 설정

매니페스트의 execution 요소는 이미지 구성 프로세스 중에 실행되는 일련의 검사점을 나열합니다. 체크포인트는 이 섹션에 나열된 순서로 실행됩니다. 기본 설치 이미지를 빌드하는 데 필요한 기본 체크포인트는 각 매니페스트 파일에 포함되어 있습니다.

이미지 생성 프로세스 중 검사점은 매니페스트에 지정된 빌드 영역의 내용을 수정합니다.

빌드 영역에는 다음 디렉토리가 포함됩니다.

ZFS dataset 변수는 매니페스트의 대상 요소로 지정됩니다.

빌드 프로세스 중 최종 이미지에 포함될 모든 항목은 pkg_image 디렉토리에 추가됩니다. 별도의 boot_archive 디렉토리의 파일은 pkg_image 디렉토리에도 추가되는 부트 아카이브 파일을 만드는 빌드 프로세스 중에 사용됩니다.

다음 목록에는 가장 많은 매니페스트에서 실행되는 검사점 순서대로 각 기본 검사점에 대한 간략한 설명이 제공됩니다.

각 검사점 섹션에 포함된 특정 필드를 확인하여 각 검사점 이름 태그에는 검사점 스크립트의 위치를 지정하는 mod-path 속성이 포함됩니다.

일부 기본 체크포인트 태그에는 기본값이 제공된 인수가 포함되어 있습니다. dc_ai_sparc.xml 샘플 매니페스트의 다음 체크포인트 예는 이미지 빌드에 대한 부트 아카이브를 만들며 해당 작업을 수행할 스크립트를 가리킵니다. 검사점 예에도 각 인수에 대해 특정 값이 제공된 인수 필드가 포함되어 있습니다.

<checkpoint name="ba-arch"
    desc="Boot Archive Archival"
    mod_path="solaris_install/distro_const/checkpoints/
    boot_archive_archive"
    checkpoint_class="BootArchiveArchive">
    <kwargs>
        <arg name="size_pad">0</arg>
        <arg name="bytes_per_inode">0</arg>
        <arglist name="uncompressed_files">
             <argitem>etc/svc/repository.db</argitem>
             <argitem>etc/name_to_major</argitem>
             <argitem>etc/minor_perm</argitem>
             <argitem>etc/driver_aliases</argitem>
             <argitem>etc/driver_classes</argitem>
             <argitem>etc/path_to_inst</argitem>
             <argitem>etc/default/init</argitem>
             <argitem>etc/nsswitch.conf</argitem>
             <argitem>etc/passwd</argitem>
             <argitem>etc/shadow</argitem>
             <argitem>etc/inet/hosts</argitem>
        </arglist>
    </kwargs>
</checkpoint>

이 예에 표시된 것과 같이, kwargs 요소에는 빌드 중 검사점에 전달해야 하는 키워드 인수가 있습니다. kwargs 요소 내에는 검사점에 전달할 개별 키워드를 지정하는 데 사용할 수 있는 arg name 요소가 있습니다. 또한 arglist 요소에는 검사점에 전달할 여러 argitem 값 목록이 포함되어 있습니다. 이 예의 경우 arglist 요소에서 압축되지 않은 파일 목록이 포함되어 있습니다.

kargs 목록 항목은 큰따옴표로 묶여 있습니다. 큰따옴표를 사용하지 않았거나 전체 문자열이 큰 따옴표로 묶인 경우, 공백과 줄바꿈을 포함한 전체 문자열이 하나의 인수로 해석됩니다. 인수를 쉼표로 구분하지 마십시오.

이미지 빌드 중에 사용할 사용자 정의 스크립트를 만들려면 스크립트 위치를 가리키는 검사점 요소를 추가해야 합니다. 사용자 정의 스크립트에 대한 검사점에는 사용자 정의 스크립트 위치를 가리키는 args 요소만 필요합니다. 자세한 내용 및 예제는 사용자 정의 스크립트 만들기 및 사용을 참조하십시오.

distro_const 명령 옵션을 사용하면 특정 체크포인트에서 빌드 프로세스의 일시 중지 및 다시 시작을 제어할 수 있습니다. 이미지를 여러 단계로 빌드하는 방법을 참조하십시오.

예 2-2 SVR4 패키지 추가

이 예에서는 새 체크포인트가 매니페스트에 추가되었습니다. 이 새 체크포인트는 이미지에 추가할 SVR4 패키지 및 패키지의 위치를 나열합니다. 그런 다음 이 새 체크포인트는 실행 섹션에서 참조됩니다.

먼저 새 software 요소를 추가하여 새 체크포인트가 생성됩니다. 이 체크포인트는 SVR4를 소프트웨어 유형으로 지정합니다. 이 체크포인트는 패키지를 찾고 설치하는 위치입니다.

또한 설치할 특정 SVR4 패키지는 software_data 요소에 나열됩니다.

<software name=transfer-svr4-install type="SVR4">
   <destination>
       <dir path={PKG_IMAGE_PATH}/>
   </destination>
   <source>
    <dir path="/path/to/packages"/>
   </source>
   <software_data action="install">
      <name>SUNWpackage1</name>
      <name>SUNWpackage2</name>
   </software_data>
</software>

검사점에 포함된 경우 {PKG_IMAGE_PATH} {BOOT_ARCHIVE} 값은 distro_const 유틸리티를 통해 각각 ZFS dataset /build_data/pkg_image ZFS dataset /build_data/boot_archive 로 대체됩니다. 이 예에서 SVR4 패키지는 ZFS dataset /build_data/pkg_image 에 설치됩니다.

끝으로 새 체크포인트가 실행 섹션에서 참조됩니다.

<execution stop_on_error="true">
   <checkpoint name="transfer-ips-install"
       desc="Transfer pkg contents from IPS"
       mod_path="solaris_install/transfer/ips"
       checkpoint_class="TransferIPS"/>
   <checkpoint name="set-ips-attributes"
       desc="Set post-install IPS attributes"
       mod_path="solaris_install/transfer/ips"
       checkpoint_class="TransferIPS"/>
   <checkpoint name="transfer-svr4-install"
      desc="Transfer pkg contents from SVR4 packages"
      mod_path="solaris_install/transfer/svr4"
      checkpoint_class="TransferSVR4"/>

소프트웨어 이름은 체크포인트 이름과 일치해야 합니다. 이 예에서는 둘 다 “transfer-svr4–install”입니다.

사용자 정의 스크립트 만들기 및 사용

배포 생성자를 사용하여 빌드하려는 이미지의 유형을 기반으로 이미지 만들기 프로세스 중 사용자 정의하는 데 사용할 수 있는 추가 스크립트를 지정할 수 있습니다. 매니페스트 파일은 스크립트를 가리키며, 스크립트는 일반 이미지를 매체별 배포로 변환합니다. 이러한 스크립트는 매니페스트 파일의 실행 섹션에서 참조됩니다. 원하는 수의 사용자 정의 스크립트 체크포인트를 지정할 수 없습니다.


주 - 스크립트에 대한 지원은 응용 프로그램 패키지와 함께 제공되는 수정되지 않은 기본 스크립트로 제한됩니다. 이러한 스크립트를 사용자 정의하도록 선택한 경우 먼저 원본 스크립트를 백업하십시오.

또한 매니페스트 파일의 실행 섹션에 지정된 스크립트가 이미지 만들기 프로세스 중에 실행됩니다. 실행 섹션은 사전 설치 또는 사후 설치 스크립트를 참조하지 않습니다.


사용자 정의 스크립트를 만드는 경우 다음 사항에 유의하십시오.

사용자 정의 스크립트를 만들고 사용하는 방법

  1. 새 스크립트를 만듭니다.
  2. 새 스크립트를 홈 디렉토리 또는 시스템이나 네트워크의 특정 위치에 추가합니다.

    루트 역할을 수행하는 사용자가 이 스크립트를 실행할 수 있는지 확인합니다.

  3. 해당 매니페스트 파일의 실행 섹션에 체크포인트를 추가하여 새 스크립트를 참조합니다.

    새 검사점을 설정할 위치를 결정하려면 빌드 검사점 설정에 설명된 대로 기본 검사점에 대한 설명을 검토하십시오.

    스크립트의 전체 경로를 지정해야 합니다. 체크포인트는 매니페스트의 실행 섹션에 나열된 순서로 실행됩니다.

    매니페스트 파일의 실행 섹션에 새 스크립트에 대한 참조를 추가할 경우 이 스크립트가 해당 작업을 수행하기 전이나 후에 이미지 빌드를 일시 중지하는 데 사용할 수 있는 체크포인트 이름을 지정해야 합니다. 선택적으로 체크포인트 이름과 연관된 사용자 정의 메시지를 포함시킬 수 있습니다. 이 메시지를 생략할 경우 스크립트의 경로가 기본 체크포인트 메시지로 사용됩니다. 체크포인트 메시지는 빌드 프로세스 중 체크포인트가 실행될 때 표시됩니다.


    주 - 검사점 이름에 숫자 대신 의미 있는 이름을 사용합니다. 새 스크립트가 추가되면 해당 새 스크립트에 대한 새 체크포인트가 숫자로 지정된 체크포인트 순서를 방해합니다.


    다음 체크포인트 예는 사용자 정의 스크립트인 “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>
  4. (옵션) 다음과 같이 체크포인트의 일부로 빌드 매개변수를 지정합니다.

    여기서 {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로 대체됩니다.

  5. 이미지를 빌드합니다.

    이미지는 한 단계로 빌드할 수 있습니다. 또는 체크포인트에서 빌드를 중지했다가 다시 시작하여 빌드 상태를 확인할 수 있습니다.

    지침은 3 장이미지 빌드를 참조하십시오.

  6. (옵션) 빌드가 완료되면 빌드 프로세스에 대해 보고하는 로그 파일을 볼 수 있습니다.

    빌드 출력에 로그 파일의 위치가 표시됩니다.