Solaris 9 4/04 설치 설명서

부록 G 추가 SVR4 패키지 작성 요구 사항(참조)

이 부록은 사용자 정의 JumpStart 프로그램 또는 Solaris Live Upgrade를 사용하여 패키지, 특히 타사 패키지를 설치 또는 제거해야 하는 시스템 관리자를 대상으로 합니다. 다음 패키지 작성 요구 사항을 따르면 Solaris Live Upgrade로 업그레이드할 수 있도록 사용자 정의 JumpStart 설치가 비대화형으로 유지되고 현재 실행 중인 시스템을 수정하지 못하게 됩니다.

패키지 작성 요구 사항 개요

다음 설명서 참조는 패키지 작성 요구 사항에 대한 배경 정보를 제공합니다.

표 G–1은 이 문서에서 Solaris Live Upgrade 또는 사용자 정의 JumpStart 프로그램에 적용되는 정보를 나열합니다.

표 G–1 요구 사항 정보

설치 방법 

문서화된 요구 사항 

Solaris Live Upgrade 

사용자 정의 JumpStart 프로그램 

사용자 정의 JumpStart 프로그램 및 Solaris Live Upgrade 비활성 부트 환경 요구 사항

비활성 부트 환경은 현재 실행 중인 시스템이 아닌 운영 환경의 복사본입니다. Live Upgrade 또는 사용자 정의 JumpStart 프로그램이 사용할 패키지는 다음 요구 사항을 따라야 합니다.

다음 목록은 비활성 부트 환경 준수에 대한 요구 사항을 설명합니다.

$PKG_INSTALL_ROOT$BASEDIR 사이의 차이점 개요

$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

Solaris Live Upgrade 비활성 부트 환경 적합성

Solaris Live Upgrade를 사용하여 새 부트 환경을 만드는 경우 다음 지침을 따라 문제를 방지합니다.

파일 만들기, 수정 및 삭제를 위한 이러한 요구 사항은 다양한 명령을 사용하여 검증할 수 있습니다. 예를 들어, dircmp 또는 fssnap 명령은 패키지가 제대로 작동하는지 검증하는 데 사용할 수 있습니다. 또한 ps 명령은 데몬이 패키지에 의해 정지 또는 시작되지 않았음을 확인하여 데몬 적합성을 테스트하기 위해 사용될 수 있습니다. truss, pkgadd -vpkgrm 명령은 런타임 패키지 설치 적합성을 테스트할 수 있지만 모든 상황에서 작동하지는 않을 수 있습니다. - 다음 예에서, truss 명령은 모든 읽기 전용, 비$BASEDIR 액세스를 제거하고 지정된 비활성 부트 환경 내에 있지 않는 경로에 대한 비읽기 전용 액세스만 보여 줍니다.


# TEMPDIR=/a; export TEMPDIR
# truss -t open /usr/sbin/pkgadd -R ${TEMPDIR} SUNWvxvm \
2>&1> /dev/null | grep -v O_RDONLY | grep -v \
'open("'${TEMPDIR}

이 절에서 참조된 명령에 대한 자세한 내용은dircmp(1), fssnap(1M), ps(1), truss(1), pkgadd(1M), pkgchk(1M) 또는 pkgrm(1M) 설명서 페이지를 참조하십시오.

사용자 정의 JumpStart 프로그램에 대한 업그레이드 적합성

사용자 정의 JumpStart 프로그램 적합성은 패키지가 다음과 같이 전통적인 Solaris 설치 유틸리티의 일부인 채로 추가 및 제거될 수 있게 합니다.

사용자 정의 JumpStart 프로그램의 적합성은 또한 패키지가 Solaris 업그레이드에 참가할 수 있게 합니다. 사용자 정의 JumpStart 프로그램에 적합하려면 패키지가 사용자 정의 JumpStart 프로그램 및 Solaris Live Upgrade 비활성 부트 환경 요구 사항에 요약된 비활성 부트 환경 요구 사항도 따라야 합니다.

사용자 정의 JumpStart 프로그램을 효과적으로 사용할 수 있으려면 패키지가 사용자에게 정보를 묻는 메시지를 표시하지 않은 채 추가 또는 제거되어야 합니다. 사용자 상호 작용을 방지하려면 pkgadd 명령 -a 옵션으로 새 관리 파일을 설정합니다. -a 옵션은 기본 관리 파일 대신 사용될 설치 관리 파일을 정의합니다. 기본 파일을 사용하면 사용자에게 추가 정보를 묻는 메시지가 표시될 수 있습니다. 이들 검사를 무시하고 사용자 확인이 없이 패키지를 설치해야 함을 pkgadd에게 알려주는 관리 파일을 만들 수 있습니다. 자세한 내용은 admin(4) 또는 pkgadd(1M) 설명서 페이지를 참조하십시오.

다음은 pkgadd 관리 파일 사용 방법을 보여주는 예입니다.

다음은 pkgadd 유틸리티와의 사용자 상호 작용이 거의 필요 없는 설치 관리 파일의 예입니다. 패키지가 시스템에서 사용 가능한 공간보다 더 많은 공간을 필요로 하는 경우를 제외하고 pkgadd 유틸리티는 이 파일을 사용하고 사용자에게 추가 정보를 묻는 메시지를 표시하지 않고 패키지를 설치합니다.

mail=
instance=overwrite
partial=nocheck
runlevel=nocheck
idepend=nocheck
space=ask
setuid=nocheck
confiict=nocheck
action=nocheck
basedir=default