대체 루트(/)는 현재 실행중인 시스템이 아닌 운영 환경의 복사본입니다. Live Upgrade 또는 사용자 정의 JumpStart 프로그램이 사용할 패키지는 다음 요구 사항을 따라야 합니다.
사용자 상호작용 없이 사용자 정의 JumpStart 설치 또는 업그레이드를 활성화합니다.
Solaris Live Upgrade 사용시 필요한, 현재 실행중인 시스템의 수정이 없습니다.
다음 목록은 대체 루트(/) 적합성에 대한 요구 사항을 설명합니다.
운영 체제의 설치가 성공하려면 패키지는 대체 루트(/) 지정자를 인식하고 정확하게 준수해야 합니다.
패키지는 pkgmap 파일(패키지 맵)에 절대 경로를 포함할 수 있습니다. 이러한 파일이 존재하면 pkgadd 명령의 - R 옵션과 관련하여 작성됩니다. 절대 및 상대(다시 찾을 수 있는) 경로 모두를 포함하는 패키지는 대체 루트(/)로도 설치될 수 있습니다. $PKG_INSTALL_ROOT는 절대 및 다시 찾을 수 있는 파일 모두에 대해 미리 결정되므로 모든 경로는 pkgadd로 설치될 때 제대로 해결됩니다.
pkgadd -R 옵션을 사용하여 설치되거나 pkgrm -R 옵션을 사용하여 제거되는 패키지는 현재 실행중인 시스템을 변경하지 말아야 합니다.
pkgadd 명령 -R 옵션으로 설치되거나 pkgrm 명령 -R 옵션을 사용하여 제거되는 모든 패키지와 함께 제공되는 모든 프로시저 스크립트는 현재 실행중인 시스템을 변경하지 말아야 합니다. 사용자가 제공하는 모든 설치 스크립트는 접두어가 $PKG_INSTALL_ROOT 변수인 모든 디렉토리 또는 파일을 참조해야 합니다. 패키지는 $PKG_INSTALL_ROOT 접두어를 가진 모든 디렉토리 및 파일을 작성해야 합니다. 패키지는 $PKG_INSTALL_ROOT 접두어 없이 디렉토리를 제거하지 말아야 합니다. 표 C-2은 올바른 스크립트 구문의 예제를 제공합니다.
표 C-2 설치 스크립트 구문의 예제
$PKG_INSTALL_ROOT는 패키지를 추가할 시스템의 루트(/) 파일 시스템의 위치입니다. 위치는 pkgadd 명령에 대한 -R 인자로 설정됩니다. 예를 들어, 다음 명령이 호출되면 $PKG_INSTALL_ROOT가 패키지 설치 동안 /a 앞에 추가됩니다.
# pkgadd -R /a SUNWvxvm |
$BASEDIR은 다시 찾을 수 있는 패키지 객체가 설치된 다시 찾을 수 있는 기본 디렉토리를 가리킵니다. 다시 찾을 수 있는 객체만 여기에 설치됩니다. 다시 찾을 수 없는 객체(pkgmap 파일의 절대 경로를 가진 객체)는 항상 대체 루트(/)에 상대적으로 설치되지만 실제로 $BASEDIR에 상대적이지 않습니다. 패키지가 다시 찾을 수 있는 객체가 아니면 패키지는 절대 패키지(또는 다시 찾을 수 없는)라고 하며 $BASEDIR은 정의되지 않고 패키지 절차 스크립트에 사용할 수 없습니다.
예를 들어, 패키지의 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 |