비활성 부트 환경은 현재 실행 중인 시스템이 아닌 운영 환경의 복사본입니다. Live Upgrade 또는 사용자 정의 JumpStart 프로그램이 사용할 패키지는 다음 요구 사항을 따라야 합니다.
사용자 상호 작용 없이 사용자 정의 JumpStart 설치 또는 업그레이드를 활성화합니다.
Solaris Live Upgrade 사용 시 필요한, 현재 실행 중인 시스템의 수정이 없습니다.
다음 목록은 비활성 부트 환경 준수에 대한 요구 사항을 설명합니다.
운영 체제 설치가 성공하려면 패키지가 비활성 부트 환경 지정자를 인식하고 정확하게 고려해야 합니다.
패키지는 pkgmap 파일(패키지 맵)에 절대 경로를 포함할 수 있습니다. 이 파일이 존재할 경우 해당 파일은 pkgadd 명령의 - R 옵션에 상대적으로 작성됩니다. 절대 및 상대(위치 변경이 가능한) 경로를 모두 포함하는 패키지를 대체 루트(/)에 설치할 수도 있습니다. $PKG_INSTALL_ROOT는 절대 및 상대 파일 모두에 추가되므로 pkgadd를 사용하여 설치될 때 모든 경로가 적당하게 결정됩니다.
pkgadd -R 옵션을 사용하여 설치되거나 pkgrm -R 옵션을 사용하여 제거되는 패키지는 현재 실행 중인 시스템을 변경하지 말아야 합니다.
pkgadd 명령 -R 옵션으로 설치되거나 pkgrm 명령 -R 옵션을 사용하여 제거되는 모든 패키지에 포함되는 모든 procedure 스크립트는 현재 실행 중인 시스템을 변경하지 말아야 합니다. 사용자가 제공하는 모든 설치 스크립트는 접두어가 $PKG_INSTALL_ROOT 변수인 모든 디렉토리 또는 파일을 참조해야 합니다. 패키지는 $PKG_INSTALL_ROOT 접두어를 가진 모든 디렉토리 및 파일을 작성해야 합니다. 패키지는 $PKG_INSTALL_ROOT 접두어 없이 디렉토리를 제거하지 말아야 합니다. 표 G–2는 올바른 스크립트 구문의 예를 제공합니다.
표 G–2 설치 스크립트 구문의 예
$PKG_INSTALL_ROOT는 패키지를 추가할 컴퓨터의 루트(/) 파일 시스템의 위치입니다. 위치는 pkgadd 명령의 -R 인수로 설정됩니다. 예를 들어, 다음 명령이 호출되면 $PKG_INSTALL_ROOT가 패키지를 설치하는 동안 /a가 됩니다.
# pkgadd -R /a SUNWvxvm |
$BASEDIR은 위치 변경이 가능한 패키지 객체가 설치된 위치 변경이 가능한 기본 디렉토리를 가리킵니다. 위치 변경이 가능한 객체만 여기에 설치됩니다. 위치 변경이 불가능한 객체(pkgmap 파일의 절대 경로를 가진 객체)는 항상 비활성 부트 환경에 상대적으로 설치되지만 실제로 $BASEDIR에 상대적이지 않습니다. 패키지에 위치 변경이 가능한 객체가 없는 경우 해당 패키지는 절대 패키지(즉, 위치 변경이 불가능한 패키지)라고 하며 $BASEDIR은 정의되지 않고 패키지 procedure 스크립트에 사용할 수 없습니다.
예를 들어, 패키지의 pkgmap 파일은 다음 두 항목을 가지는 것으로 가정합니다.
1 f none sbin/ls 0555 root sys 3541 12322 1002918510 1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332 |
pkginfo 파일은 $BASEDIR에 대한 다음 사양을 갖습니다.
BASEDIR=/opt |
이 패키지가 다음 명령으로 설치되면 ls는 /a/opt/sbin/ls에 설치되지만 ls2는 /a/sbin/ls2에 설치됩니다.
# pkgadd -R /a SUNWtest |