설치를 위한 소프트웨어 패키징

이 주제에서는 installp 명령으로 설치할 애플리케이션 준비에 대한 정보를 제공합니다.

이 절에서는 제품 개발자가 제공해야 하는 소프트웨어 제품 설치 패키지의 형식 및 내용에 대해 설명합니다. 소프트웨어 설치 또는 갱신 패키지의 파트인 필수 파일 및 선택적 파일에 대해서도 설명합니다.

소프트웨어 제품 설치 패키지는 소프트웨어 제품의 파일, 필수 설치 제어 파일 및 선택적 설치 조정 파일이 들어 있는 백업 형식의 파일입니다. Installp 명령은 소프트웨어 제품을 설치하고 업데이트하는 데 사용됩니다.

설치 패키지에는 개별적으로 설치할 수 있는 논리적으로 그룹이 지정되는 단위인 파일 세트가 하나 이상 있습니다. 패키지의 각 파일 세트는 동일한 제품에 속해야 합니다.

파일 세트 갱신 또는 갱신 패키지는 기존 파일 세트에 대한 수정사항을 포함하는 패키지입니다.

이 주제 전체에서 표준 시스템 용어는 디스크가 없는 시스템으로서 구성되지 않는 시스템을 말합니다.

설치 프로시저 요구사항

  • 설치에는 사용자 상호작용이 필요하지 습니다. 사용자 상호작용이 필요한 제품 구성은 설치 전후에 발생해야 합니다.
  • 독립적인 파일 세트 또는 상호 의존적인 파일 세트에 대한 갱신사항 모두는 한 번의 설치로 설치될 수 있어야 합니다.
  • 설치 시 시스템을 다시 시작해야 할 필요는 없습니다. 설치하면 설치와 관련된 시스템 부분이 정지되므로 설치를 전체적으로 적용하려면 설치 이후 시스템을 다시 시작해야 합니다.

패키지 제어 정보 요구사항

패키지 제어 정보로 다음을 수행해야 합니다.

  • 파일 세트에 적용되는 모든 설치 요구사항을 기타 파일 세트에 지정합니다.
  • 파일 세트 설치를 위한 모든 파일 시스템 크기 요구사항을 지정합니다.

소프트웨어 패키지 형식

설치 또는 업데이트 패키지는 설치 중에 installp 명령으로 복원할 수 있는 백업 형식의 단일 파일이어야 합니다. 이 파일을 테이프, 디스켓 또는 CD-ROM으로 배포할 수 있습니다.

패키지 분할 요구사항

디스크 없는 또는 데이터 없는 클라이언트 워크스테이션을 지원하려면, 패키지의 머신 고유 부분(루트 파트)을 패키지의 머신 공유 가능 부분(usr 파트)과 구분되어야 합니다. 패키지의 usr 부분에는 ' /usr ' 또는 ' /opt ' 파일 시스템에 있는 파일이 포함되어 있습니다.

패키지의 루트 파트 설치 시 /usr 파일 시스템이 있는 어떤 파일도 수정해서는 안 됩니다. /usr 파일 시스템은 디스크가 없거나 데이터가 없는 클라이언트 시스템의 루트 파트 설치 중에 작성할 수 없습니다. 머신별(루트) 부분에는 ' /usr ' 또는 ' /opt ' 파일 시스템에 없는 모든 것이 포함되어야 합니다.

워크로드 파티션을 위한 패키징

워크로드 분할(WPAR)을 위해 패키징되는 경우 일부 소프트웨어 제품에서는 특수한 사항을 고려해야 합니다. WPAR에서 소프트웨어 제품을 성공적으로 배치하려면, WPAR은 이러한 파일 시스템을 읽기 전용 모드에서 마운트하므로 루트 파트 처리 중 /usr 또는 /opt 파일 시스템에 쓰기를 시도하지 않는 방식으로 소프트웨어 제품을 패키징해야 합니다. 이와 유사하게 제품이 설치될 각 시스템에서 수행하는 모든 구성은 패키지의 루트 파트에서 수행되어야 합니다.

파일 세트를 워크로드 파티션에 설치하지 않으려는 경우, 패키지의 lpp_name 파일에서 PRIVATE 속성으로 지정해야 합니다.

WPAR에서 설치할 때 파일 세트를 다르게 구성해야 하는 경우, 패키징 스크립트는 INUWPAR 환경 변수를 점검하여 파일 세트가 WPAR 내에 설치 중인지 여부를 판별합니다.

WPAR에 설치될 때 파일 세트가 다르게 구성되면, 파일 세트가 원래 WPAR에 설치되지 않았으므로 시스템 사본에서 WPAR을 작성할 때 다시 구성됩니다. 파일 세트 소유자는 /usr/lib/wpars/wparconvert.d/usr/usr/lib/wpars/wparconvert.d/root 디렉토리에서 프로그램을 작성할 수 있으며, 이는 시스템 사본 WPAR에서 실행할 파일 세트에서 usr 및 루트 파트를 변환할 때 실행됩니다. 해당 디렉토리 내의 모든 실행 파일은 시스템 사본 WPAR이 처음 시작되면 알파벳순(C 로케일)으로 실행됩니다.

소프트웨어 필수 제품 데이터

소프트웨어 제품 및 설치 가능한 옵션에 대한 정보는 소프트웨어 필수 제품 데이터(SWVPD) 데이터베이스에서 유지됩니다. SWVPD는 소프트웨어 제품 정보의 유지를 위한 오브젝트 데이터 관리자(ODM) 오브젝트 클래스와 명령 세트로 구성됩니다. SWVPD 명령은 사용자가 설치된 소프트웨어 제품을 조회(lslpp) 및 확인(lppchk)할 수 있도록 제공됩니다. ODM 오브젝트 클래스는 유지하는 소프트웨어 제품 정보의 유효범위와 형식을 정의합니다.

Installp 명령은 객체 데이터 관리자를 사용하여 SWVPD 데이터베이스에서 다음 정보를 유지 관리합니다:

  • 소프트웨어 제품 이름(예제: bos.adt)
  • 소프트웨어 제품 버전
  • 소프트웨어 제품의 릴리스 레벨(소프트웨어 제품의 외부 프로그래밍 인터페이스에 대한 변경사항을 표시함)
  • 소프트웨어 제품의 수정 레벨(소프트웨어 제품의 외부 인터페이스에 영향을 주지 않는 변경사항을 표시함)
  • 소프트웨어 제품의 수정 레벨(나중에 정규 수정 레벨로 빌드될 사소한 갱신사항을 표시함)
  • 소프트웨어 제품 또는 옵션을 구성하는 파일의 이름, 체크섬 및 크기
  • 소프트웨어 제품 상태(사용 가능함, 적용 중, 적용됨, 확정 중, 확정됨, 거부 중 또는 파손)
  • 테크놀로지 레벨 및 APAR 정보
  • 비installp 패키지 소프트웨어의 대상 디렉토리 및 설치 프로그램(적용 가능한 경우)

소프트웨어 제품 패키징 파트

클라이언트/서버 환경에서의 설치를 지원하기 위해 설치 패키징은 다음과 같은 파트로 분류됩니다.
usr
호환 가능한 하드웨어 아키텍처와 여러 머신에서 공유할 수 있는 제품 파트가 포함되어 있습니다. 표준 시스템의 경우 이러한 파일은 /usr 또는 /opt 파일 트리에 저장됩니다.
root
여러 머신에서 공유할 수 없는 제품 파트가 포함되어 있습니다. 각 클라이언트에는 자체 사본이 있어야 합니다. 머신 각각에 대한 별도의 사본이 필요한 대부분의 이 소프트웨어는 머신 또는 제품의 구성과 연관되어 있습니다. 표준 시스템의 경우 루트 파트의 파일은 루트(/) 파일 트리에 저장됩니다. 파일 세트의 루트 파트는 파일 세트의 usr 파트와 동일한 패키지에 있어야 합니다. 파일 세트에 루트 파트가 포함되어 있으면 usr 파트도 포함되어야 합니다.

패키지 분할을 위한 샘플 파일 시스템 안내서

다음은 파일 시스템 및 디렉토리에 대한 간단한 설명입니다. 제품 패키지를 루트, usr 및 공유 파트로 분할하기 위한 안내서로 이를 사용할 수 있습니다.

일부 루트 파트 디렉토리 및 내용은 다음과 같습니다.

/dev
로컬 머신 장치 파일입니다.
/etc
hostspasswd와 같은 머신 구성 파일입니다.
/sbin
시스템을 부팅하는 데 필요한 시스템 유틸리티입니다.
/var
시스템 고유의 데이터 파일 및 로그 파일입니다.

일부 usr 파트 디렉토리 및 내용에는 다음이 포함됩니다.

/usr/bin
명령 및 스크립트(일반 실행 파일)입니다.
/usr/sbin
시스템 관리 명령입니다.
/usr/include
포함 파일입니다.
/usr/lib
라이브러리, 비사용자 명령 및 아키텍처 종속 데이터입니다.
/opt
라이브러리, 비사용자 명령 및 일반적으로 비운영 체제 제품과 연관된 스크립트입니다.

패키지 및 파일 세트 이름 지정 규칙

소프트웨어 패키지 및 해당 파일 세트 이름을 지정할 때 다음 규칙을 사용하십시오.
  • 패키지 이름(PackageName)은 제품 이름으로 시작되어야 합니다. 패키지에 설치 가능한 패키지가 하나만 있을 경우 파일 세트 이름은 PackageName과 같을 수 있습니다. 모든 패키지 이름은 고유해야 합니다.
  • 파일 세트 이름의 양식은 다음과 같습니다.
    ProductName.PackageName.FilesetName.extension
    where:
    • ProductName은 제품 또는 솔루션 그룹을 식별합니다.
    • PackageName은 제품 내의 기능 그룹을 식별합니다.
    • FilesetName(선택사항)은 설치될 파일 및 라이브러리의 특정 기능 세트를 식별합니다.
    • Extension(선택사항)은 내용을 자세히 설명합니다.
  • 파일 세트 이름에는 둘 이상의 문자가 포함되고 문자로 시작됩니다.
  • 파일 세트 이름의 모든 문자는 ASCII 문자여야 합니다. 유효한 문자는 대소문자, 숫자, 밑줄(_), 더하기 부호(+) 및 빼기 부호(-)입니다. 마침표(.)는 파일 세트 이름에서 구분자로 사용됩니다.
  • 파일 세트 이름은 마침표 또는 점으로 끝날 수 없습니다.
  • 파일 세트 이름의 최대 길이는 144바이트입니다.
  • 모든 파일 세트 이름은 패키지 내에서 고유해야 합니다.
표 1. 파일 세트 확장자 이름 지정 규칙
확장자 파일 세트 설명
.adt 애플리케이션 개발 툴킷입니다.
.com 유사한 파일 세트에서 필요한 공통 코드입니다.
.compat 향후 릴리스에서 제거될 수 있는 호환성 코드입니다.
.diag 진단 프로그램 지원입니다.
.fnt 폰트입니다.
.help. 언어 특정 언어용 공통 데스크탑 환경(CDE) 도움말 파일입니다.

장치 드라이버 패키징의 특수 이름 지정 고려사항

구성 관리자 명령(cfgmgr)은 설치 미디어에서 사용할 수 있고 다음 이름 지정 규칙으로 패키징될 수 있는 감지 가능 장치에 대한 소프트웨어 지원을 자동으로 설치합니다.
devices.BusTypeID.CardID.Extension
where:
  • BusTypeID는 카드가 접속되는 버스 유형(예: PCI의 경우 pci)을 지정합니다.
  • CardID는 카드 유형과 연관된 고유 16진수 ID를 지정합니다.
  • Extension은 포함되어 있는 드라이버 파트(예: rte는 실행시간용 확장자이고 diag는 진단 프로그램용 확장자임)를 지정합니다.

예를 들어, 이더넷 장치가 PCI 버스에 연결되고 구성 관리자가 다음과 같은 고유 카드 식별자를 가진 것으로 식별한다고 가정합니다1410bb02. 이 이더넷 장치와 관련된 파일 세트의 패키지 이름은 devices.pci.1410bb02. 이 패키지 내부의 실행시간 환경 파일 세트 이름은 devices.pci.1410bb02.rte입니다.

메시지 카탈로그 패키징을 위한 특수 이름 지정 고려사항

패키지를 설치하는 사용자는 메시지 카탈로그를 자동으로 설치하도록 요청할 수 있습니다. 이를 요청하면 시스템은 메시지 파일 세트가 설치 미디어에서 사용할 수 있고 다음 이름 붙이기 규칙으로 패키지화되어 있을 경우 1차 언어의 메시지 파일 세트를 자동으로 설치합니다.
Product.msg.Language.SubProduct

선택사항인 SubProduct 접미어는 제품에 같은 언어에 대한 복수의 메시지 카탈로그 파일 세트가 있는 경우 사용되며, 각각의 메시지 카탈로그 파일 세트는 다른 SubProduct에 적용됩니다. 전체 제품에 하나의 메시지 파일 세트가 있도록 선택할 수 있습니다.

For example, theSuper_Widget제품에는plasticmetal파일세트 옵션 집합입니다. 모두Super_Widget영어 미국 메시지 카탈로그는 다음과 같은 단일 파일 집합으로 패키지화할 수 있습니다Super_Widget.msg.en_US. 에 대해 별도의 메시지 카탈로그 파일 세트가 필요한 경우plasticmetal옵션을 사용하면 영어 미국 메시지 카탈로그 파일 집합의 이름이Super_Widget.msg.en_US.plasticSuper_Widget.msg.en_US.metal.

참고: 이 명명 규칙을 따르는 메시지 파일 세트는 메시지 파일 세트의 자동 설치를 보장하기 위해 제품의 다른 파일 세트에 설치된 필수 조건(instreq)포함해야 합니다.

파일 이름

소프트웨어 패키지와 함께 전달되는 파일 이름에는 쉼표 또는 콜론이 포함될 수 없습니다. 쉼표 및 콜론은 소프트웨어 설치 프로세스에서 사용되는 제어 파일에 분리 문자로 사용됩니다. 파일 이름에는 비ASCII 문자가 포함될 수 있습니다. 파일 이름의 전체 경로는 128자를 초과할 수 없습니다.

파일 세트 개정 레벨 식별

파일 세트 레벨을 레벨이라고 하거나 v.r.m.f 또는 VRMF라고도 하며 다음 양식을 사용합니다.
Version.Release.Modification.FixLevel
where:
  • Version은 버전 번호를 식별하는 1 - 2개의 숫자로 된 숫자 필드입니다.
  • Release는 릴리스 번호를 식별하는 1 - 2개의 숫자로 된 숫자 필드입니다.
  • Modification은 수정 레벨을 식별하는 1 - 4개의 숫자로 된 숫자 필드입니다.
  • FixLevel은 수정 레벨을 식별하는 1 - 4개의 숫자로 된 숫자 필드입니다.

기본 파일 세트 설치 레벨은 파일 세트의 전체 초기 설치 레벨입니다. 이 레벨에는 파일 세트 갱신과 반대로 파일 세트의 모든 파일이 포함되어 있으며, 전체 파일 세트의 파일에 대한 서브 세트를 포함할 수 있습니다.

소프트웨어 패키지의 모든 파일 세트는 동일한 파일 세트 수준을 가져야 하지만, AIX® 4.1 패키지에는 필요하지 않습니다.

파일 세트의 모든 신규 레벨에서는 파일 세트 레벨을 올려야 합니다. installp 명령은 파일 세트 레벨을 사용하여 후속 설치 시 제품의 최신 레벨이 있는지를 검사합니다.

파일세트 수준 우선순위는 왼쪽에서 오른쪽으로 읽습니다(예,5.2.0.0보다 새로운 레벨입니다4.3.0.0).

소프트웨어 패키지 내용

이 절에서는 설치 또는 갱신 패키지에 포함되는 파일에 대해 설명합니다. 파일 경로 이름은 설치 패키지 유형별로 제공됩니다. 갱신 패키지의 경우 PackageName이 경로 이름의 파트인지 여부에 관계없이 PackageName/FilesetName/FilesetLevel로 대체됩니다.

설치 또는 갱신 패키지의 usr 파트에는 다음과 같은 설치 제어 파일이 포함되어 있습니다.
  • ./lpp_name: 이 파일은 설치되거나 갱신될 소프트웨어 패키지에 대한 정보를 제공합니다. 성능상의 이유로 lpp_name 파일은 소프트웨어 설치 패키지를 구성하는 백업 형식 파일에서 첫 번째 파일이어야 합니다.
  • ./usr/lpp/PackageName/liblpp.a: 이 아카이브 파일에는 소프트웨어 패키지에 있는 usr 파트의 설치 또는 갱신을 위해 설치 프로세스에서 사용하는 제어 파일이 들어 있습니다.
  • 소프트웨어 제품의 usr 파트를 설치하거나 갱신하기 위해 복원될, 루트와 관련되어 백업된 모든 파일입니다.
설치 또는 갱신 패키지에 루트 파트가 포함되어 있을 경우 루트 파트에는 다음과 같은 파일이 포함됩니다.
  • ./usr/lpp/PackageName/inst_root/liblpp.a: 이 라이브러리 파일에는 소프트웨어 패키지에 있는 루트 파트의 설치 또는 갱신을 위해 설치 프로세스에서 사용하는 제어 파일이 들어 있습니다.
  • 소프트웨어 패키지의 루트 파트를 설치하거나 갱신하기 위해 복원될 모든 파일입니다. 기본 파일 세트 설치 레벨의 경우 이러한 파일은 ./usr/lpp/PackageName/inst_root에 대한 상대 경로로 백업되어야 합니다.

소프트웨어 패키지의 예제 내용

다음farm.apps패키지에는farm.apps.hog 4.1.0.0파일 집합입니다. 다음farm.apps.hog 4.1.0.0파일 세트는 다음 파일을 제공합니다:
/usr/bin/raisehog (in the usr part of the package)
/usr/sbin/sellhog
 (in the usr part of the package)

/etc/hog
 (in the root part of the package)
다음farm.apps패키지에는 최소한 다음 파일이 포함되어 있습니다:
./lpp_name
./usr/lpp/farm.apps/liblpp.a
./usr/lpp/farm.apps/inst_root/liblpp.a
./usr/bin/raisehog
./usr/sbin/sellhog
./usr/lpp/farm.apps/inst_root/etc/hog
파일 세트 갱신사항farm.apps.hog 4.1.0.3은 다음 파일에 대한 업데이트를 제공합니다:
/usr/sbin/sellhog
/etc/hog
파일 세트 갱신 패키지에는 다음과 같은 파일이 포함되어 있습니다.
./lpp_name
./usr/lpp/farm.apps/farm.apps.hog/4.1.0.3/liblpp.a
./usr/lpp/farm.apps/farm.apps.hog/4.1.0.3/inst_root/liblpp.a
./usr/sbin/sellhog
./usr/lpp/farm.apps/farm.apps.hog/4.1.0.3/inst_root/etc/hog
참고: 패키지 루트 부분의 파일은 inst_root 디렉토리에 복원되었습니다. 패키지의 머신 종속 루트 파트에 대해 설치되는 파일들은 inst_root 디렉토리에 대한 상대 경로로 복원됩니다. 이 작업으로 복수 시스템의 루트 파일 시스템에서 머신 고유의 파일 설치가 쉬워집니다. 루트 파트 파일은 inst_root 디렉토리에서 파일을 복사하여 시스템의 루트 부분으로 설치됩니다. 이렇게 하면 여러 머신이 공통적인 머신 독립 usr 파트를 공유할 수 있습니다.

lpp_name 패키지 정보 파일

각 소프트웨어 패키지에는 lpp_name 패키지 정보 파일이 포함되어야 합니다. lpp_name 파일은 패키지 및 패키지에 있는 각 파일 세트에 대한 installp 명령 정보를 제공합니다. 파일 세트 갱신 패키지에 대한 lpp_name 파일 예제는 그림을 참조하십시오. 그림에서 번호 및 화살표는 다음에 오는 표에서 설명하는 필드를 의미합니다.

표 2. lpp_name 파일 필드
필드 이름 형식 구분자 설명
1. 형식 정수 공백 문자 이 패키지가 빌드된 installp의 릴리스 레벨을 표시합니다. 값은 다음과 같습니다.
  • 1- AIX 3.1
  • 3- AIX 3.2
  • 4- AIX 4.1 이상
2. 플랫폼 문자 공백 문자 이 패키지가 빌드된 플랫폼을 표시합니다. 값은 다음과 같습니다.
  • R - RISC
  • I - 인텔
  • N - Neutral
3. 패키지 유형 문자 공백 문자 설치 패키지인지 갱신 패키지인지 여부 및 해당 유형을 표시합니다. 값은 다음과 같습니다.
  • I - 설치
  • S - 단일 갱신
  • SR - 필수인 단일 갱신
  • ML - 테크놀로지 레벨 갱신
4. 패키지 이름 문자 공백 문자 소프트웨어 패키지의 이름(PackageName)입니다.
  { 줄 바꾸기 파일 세트 특정 데이터가 들어 있는 반복 가능한 절의 시작을 표시합니다.
5. 파일 세트 이름 문자 공백 문자 파일 세트의 전체 이름입니다. 이 필드는 파일 세트 또는 파일 세트 갱신을 위한 표제 정보를 시작합니다.
6. 레벨 설명 열에 표시됨 공백 문자 설치될 파일 세트의 레벨입니다. 형식은 다음과 같습니다. Version.Release.Modification.FixLevel
참고: <, >, = 조합 구문을 사용하여 레벨을 추가로 정의할 수 있습니다. 예를 들어, *prereq bos.rte v<5 또는 *prereq bos.rte v=5 r=3입니다.
7. 볼륨 정수 공백 문자 멀티볼륨 미디어에 제공된 경우 파일 세트가 있는 볼륨 번호를 표시합니다.
8. Bosboot 문자 공백 문자 설치 후에 bosboot가 필요한지의 여부를 표시합니다. 값은 다음과 같습니다.
  • N - bosboot 시작하지 않음
  • b - bosboot 시작
9. 내용 문자 공백 문자 파일 세트 또는 파일 세트 갱신에 포함되는 파트를 표시합니다. 값은 다음과 같습니다.
  • B -usr 및 루트 파트
  • U -usr 파트만
10. 언어 문자 공백 문자 C 로케일이 선택된 경우 표시되는 언어로 설정되어야 합니다. 일반적으로 en_US로 설정됩니다.
11. 설명 문자 # 또는 줄 바꾸기 파일 세트 설명입니다. 설명은 60자로 제한됩니다.
12. 주석 문자 줄 바꾸기 (선택사항) 추가 주석입니다.
  [ 줄 바꾸기 파일 세트 정보 본문의 시작을 표시합니다.
13. 필수 정보 다음 표에 설명됨 줄 바꾸기 (선택사항) 파일 세트가 기타 파일 세트 및 파일 세트 갱신사항에 대해 가지는 설치 종속성입니다. 자세한 설명은 이 표 다음에 나오는 절을 참조하십시오.
  % 줄 바꾸기 필수사항과 크기 정보 간의 구분 표시입니다.
14. 크기 및 라이선스 계약 정보 이 주제에서 나중에 설명함 줄 바꾸기 디렉토리별 크기 요구사항 및 라이센스 계약 정보입니다. 자세한 설명은 나중에 이 주제에 있는 크기 및 라이센스 계약 정보 절을 참조하십시오.
  % 줄 바꾸기 크기와 라이센싱 정보 사이의 구분 표시입니다.
  % 줄 바꾸기 라이센싱과 대체 정보 사이의 구분 표시입니다.
15. 대체 정보 나중에 주제에서 설명함 줄 바꾸기 이 파일 세트가 대체하는 이전 파일 세트에 대한 정보입니다.
  % 줄 바꾸기 라이센싱과 수정 정보 사이의 구분 표시입니다.
16. 수정사항 정보 나중에 주제에서 설명함 줄 바꾸기 파일 세트 갱신에 포함된 수정에 대한 정보입니다. 자세한 설명은 나중에 이 주제의 수정 정보 절을 참조하십시오.
  ] 줄 바꾸기 파일 세트 정보의 본문 끝을 표시합니다.
  } 줄 바꾸기 파일 세트 고유 정보가 들어있는 반복 가능한 절 끝을 표시합니다.
       
표 3. 예제
1 23    4
| ||    |                6         7 8 9  10       11
4 RSfarm.apps {  |       |         | | |   |        |
 5--> farm.apps.hog04.01.0000.0003 1 N U en_US Hog Utilities 
12--># ...      
[
13--> *ifreq bos.farming.rte (4.2.0.0) 4.2.0.15
%
14--> /usr/sbin 48
14--> /usr/lpp/farm.apps/farm.apps.hog/4.1.0.3 280
14--> /usr/lpp/farm.apps/farm.apps.hog/inst_root/4.1.0.3.96
14--> /usr/lpp/SAVESPACE 48
14--> /lpp/SAVESPACE 32
14--> /usr/lpp/bos.hos/farm.apps.hog/inst_root/4.1.0.3/ etc 32
%
%
15--> ranch.hog 4.1.0.0
%
16--> IX51366 Hogs producing eggs.
16--> IX81360 Piglets have too many ears.
]
}

필수사항 정보 절

필수사항 정보 절에는 기타 파일 세트 또는 파일 세트 갱신사항의 설치 종속성에 대한 정보가 들어 있습니다. 파일 세트 또는 파일 세트 갱신을 적용하려면 필수 규칙에 따라 필수 절에 나열된 각 필수사항을 만족시켜야 합니다.

설치 또는 갱신을 수행하기 전에 installp 명령은 lpp_name 파일에 나열된 요구사항과 설치할 파일 세트의 현재 상태를 비교합니다. -g 플래그가 installp 명령에서 지정된 경우, 설치할 파일 세트 리스트에 누락된 필수사항이 추가됩니다. 파일 세트는 모든 전제조건에 맞게 설치되도록 지정됩니다. 파일 세트를 설치하기 바로 전에 installp 명령은 다시 해당 파일 세트에 대한 필수사항을 검사합니다. 이 검사에서는 설치 프로세스에서 이전에 설치된 모든 필수사항이 성공적으로 설치되었는지와 모든 필수사항이 만족되었는지를 검증합니다.

다른 유형의 필수사항에 대한 다음 설명에서 RequiredFilesetLevel은 요구사항을 만족시키는 최소 파일 세트 레벨을 표시합니다. 대체 정보 섹션에 설명된 이유로 명시적으로 차단된 경우를 제외하고, 파일 세트의 새 레벨은 이전 레벨의 필수사항을 충족합니다. 예를 들어plum.tree 2.2.0.0파일 집합이plum.tree 3.1.0.0파일 집합입니다.

필수 소프트웨어

전제조건은 현재 파일 세트를 성공적으로 설치하려면 먼저 지정된 파일 세트 레벨 또는 그 이상의 레벨에서 지정된 파일 세트를 설치해야 함을 표시합니다. 전제조건 파일 세트가 설치되도록 예정된 경우 installp 명령은 전제조건이 충족되었는지를 확인하기 위해 설치할 파일 세트 리스트를 정렬합니다. 동일한 패키지 내에 있는 파일 세트에 대한 전제조건은 보장되지 않습니다.

구문
*prereq Fileset RequiredFilesetLevel
대체 구문
Fileset RequiredFilesetLevel

파일 세트 갱신에는 기본 레벨 파일 세트에 대한 내재적 전제조건이 포함되어 있습니다. 이 내재적 전제조건이 적절하지 않으면 다른 전제조건을 명시적으로 지정해야 합니다. 갱신 및 내재적 전제조건의 버전릴리스는 같습니다. 업데이트의 FixLevel 0에서 암시적 전제 조건의 ' ModificationLevel '과 ' FixLevel '는 모두0. 그렇지 않으면 암시적 전제 조건은 업데이트의 ' ModificationLevel '와 동일한 ' ModificationLevel '을 가지며, ' FixLevel '은0. 예를 들어 4.1.3.2 레벨 업데이트를 하려면 업데이트 설치 전에 4.1.3.0 레벨이 설치되어 있어야 합니다. 4.1.3.0 레벨 갱신에서는 갱신 설치 이전에 4.1.0.0 레벨을 설치해야 합니다.

공동 조건

공통 필수사항은 현재 파일 세트가 올바르게 작동하기 위해 지정된 파일 세트를 반드시 설치해야 함을 표시합니다. 설치 프로세스를 종료할 때 installp 명령은 충족되지 않은 모든 공통 필수사항에 대해 경고 메시지를 발행합니다. 공통 필수사항은 동일한 패키지 내의 파일 세트간 필수사항을 표시하는 데 사용될 수 있습니다.

구문
*coreq Fileset RequiredFilesetLevel

필요한 경우

If 필수사항은 파일 세트가 InstalledFilesetLevel로 설치되는 경우에만 지정된 파일 세트가 RequiredFilesetLevel이어야 함을 표시합니다. 이는 파일 세트 갱신사항 간 종속성을 조정하는 데 가장 일반적으로 사용됩니다. 다음 예제는 If 필수사항을 보여 줍니다.
*ifreq plum.tree (1.1.0.0) 1.1.2.3
구문
*ifreq Fileset [(InstalledFilesetLevel)] RequiredFilesetLevel

If theplum.tree파일 집합이 이미 설치되어 있지 않은 경우 이 예제에서는 설치되지 않습니다. If theplum.tree파일 집합이 이미 다음 수준 중 하나에 설치되어 있는 경우 이 예제에서는1.1.2.3레벨을 설치합니다:

1.1.2.3
이 레벨은 RequiredFilesetLevel과 일치합니다.
1.2.0.0
이 레벨은 다른 기본 파일 세트 레벨입니다.
1.1.3.0
이 레벨은 RequiredFilesetLevel을 대체합니다.

If theplum.tree파일 집합이 이미 다음 수준 중 하나에 설치되어 있는 경우 이 예제에서는1.1.2.3레벨을 설치합니다:

1.1.0.0
이 레벨은 InstalledFilesetLevel과 일치합니다.
1.1.2.0
이 레벨은 InstalledFilesetLevel과 같은 기본 레벨이며 RequiredFilesetLevel보다 낮은 레벨입니다.

(InstalledFilesetLevel) 매개변수는 선택사항입니다. 매개변수가 누락되면 InstalledFilesetLevelRequiredFilesetLevelVersionRelease가 같은 것으로 간주합니다. RequiredFilesetLevel FixLevel 0에서 ' ModificationLevel '과 ' FixLevel '는 모두 ' InstalledFilesetLevel '의0. 그렇지 않으면 ' InstalledFilesetLevel '은 ' RequiredFilesetLevel '의 ' ModificationLevel '과 동일한 ' ModificationLevel '를 가지며 ' FixLevel '는0. 예를 들어 RequiredFilesetLevel 4.1.1.1로 설정하고 InstalledFilesetLevel 매개 변수를 제공하지 않으면 InstalledFilesetLevel 4.1.1.0. RequiredFilesetLevel 4.1.1.0로 설정하고 InstalledFilesetLevel 매개 변수를 제공하지 않으면 InstalledFilesetLevel 4.1.0.0.

설치된 필수사항

설치된 필수사항은 해당 파일 세트가 이미 설치되어 있거나 설치할 파일 세트 리스트에 있을 경우에만 지정된 파일 세트를 자동으로 설치해야 함을 표시합니다. 또한 설치된 필수사항은 사용자가 이를 설치하도록 명시적으로 요청할 경우에도 설치됩니다. 파일 세트 갱신에는 설치된 필수사항이 없을 수도 있습니다. 패키지의 일부 다른 파트를 설치하지 않고 특정 패키지의 메시지 파일을 포함하는 파일 세트를 자동으로 설치해서는 안되므로 메시지 파일 세트에는 항상 제품에 있는 다른 파일 세트에 대해 설치된 필수사항이 포함되어 있어야 합니다.

구문
*instreq Fileset RequiredFilesetLevel

그룹 필수 사항

그룹 필수사항은 다른 필수 조건이 해당 필수사항을 만족시킬 수 있음을 표시합니다. 그룹 필수사항에는 전제조건, 공통 필수사항, IF 필수사항 및 중첩된 그룹 필수사항이 포함될 수 있습니다. {RequisiteExpressionList} 앞에 오는 NumberRequisiteExpressionList에 필요한 항목 수를 식별합니다. 예를 들면 다음과 같습니다.>2RequisiteExpressionList 최소 3개 이상의 항목이 필요하다고 명시합니다.

구문
>Number { RequisiteExpressionList }

필수사항 정보 절 예제

  1. 다음 예제는 공통 필수사항의 사용에 대해 설명합니다. 다음book.create 12.30.0.0파일 집합은layout.text 1.1.0.0index.generate 2.3.0.0파일 세트가 설치되어 있으므로 필수 섹션인book.create 12.30.0.0를 포함합니다:
    *coreq layout.text 1.1.0.0
    *coreq index.generate 2.3.0.0
    다음index.generate 3.1.0.0파일 세트는index.generate필수, 왜냐하면3.1.0.0는 필수 수준보다 새로운 수준입니다2.3.0.0레벨.
  2. 다음 예제는 더욱 일반적인 필수사항 유형의 사용을 설명합니다. 파일 세트new.fileset.rte 1.1.0.0에는 다음과 같은 요구 사항이 포함되어 있습니다:
    *prereq database.rte 1.2.0.0
    *coreq spreadsheet.rte 1.3.1.0
    *ifreq wordprocessorA.rte (4.1.0.0) 4.1.1.1
    *ifreq wordprocessorB.rte 4.1.1.1

    다음database.rte파일 세트는 레벨에 설치해야 합니다1.2.0.0또는 그 이상의new.fileset.rte파일 집합을 설치할 수 있습니다. Ifdatabase.rtenew.fileset.rte가 동일한 설치 세션에 설치되어 있으면 설치 프로그램에서database파일세트 앞에new.fileset.rte파일 집합입니다.

    다음spreadsheet.rte파일 세트는 레벨에 설치해야 합니다1.3.1.0이상의 경우new.fileset.rte파일 집합이 제대로 작동하도록 합니다. 다음spreadsheet.rte파일 집합을 설치할 필요가 없습니다new.fileset.rte파일 집합이 설치되며, 둘 다 동일한 설치 세션에 설치되어 있어야 합니다. 적절한 수준의spreadsheet.rte파일 집합이 설치 세션이 끝날 때까지 설치되지 않으면 핵심 요구 사항이 충족되지 않았다는 경고 메시지가 표시됩니다.

    If thewordprocessorA.rte파일 세트가 설치되어 있거나new.fileset.rte) 레벨에서4.1.0.0를 클릭한 다음wordprocessorA.rte파일 세트 업데이트는 레벨에 설치해야 합니다4.1.1.1이상입니다.

    If thewordprocessorB.rte파일 세트가 설치되어 있거나new.fileset.rte) 레벨에서4.1.1.0를 클릭한 다음wordprocessorB.rte파일 세트 업데이트는 레벨에 설치해야 합니다4.1.1.1이상입니다.

  3. 다음 예제는 설치된 필수사항을 설명합니다. 파일 세트Super.msg.fr_FR.Widget레벨2.1.0.0에는 다음 설치 요구 사항이 포함되어 있습니다:
    *instreq Super.Widget 2.1.0.0

    다음Super.msg.fr_FR.Widget파일 집합을 자동으로 설치할 수 없는 경우Super.Widget파일 집합이 설치되지 않았습니다. 다음Super.msg.fr_FR.Widget파일 집합을 설치할 수 있습니다Super.Widget파일 세트가 설치될 파일 세트 목록에 명시적으로 나열되어 있으면 파일 세트가 설치되지 않습니다.

  4. 다음 예제는 그룹 필수사항을 설명합니다. 나열된 전제조건 파일 세트 중 최소한 하나 이상을 설치해야 합니다(둘 모두 설치할 수 있음). 설치된 경우spreadsheet_1.rte파일 세트는 레벨1.2.0.0이상 또는spreadsheet_2.rte파일 세트는 레벨1.3.0.0이상입니다.
    >0 {
    *prereq spreadsheet_1.rte 1.2.0.0
    *prereq spreadsheet_2.rte 1.3.0.0
    }

크기 및 라이센스 계약 정보

크기 및 라이센스 계약 정보 절에는 파일 세트의 디스크 공간 및 라이센스 계약 요구사항에 대한 정보가 들어 있습니다.

크기 정보

이 정보는 설치 프로세스에서 설치 또는 갱신에 성공하기에 위해 사용할 수 있는 디스크 공간이 충분한지를 확인하는 데 사용됩니다. 크기 정보는 다음과 같은 양식을 사용합니다.
Directory PermanentSpace [TemporarySpace]

또한 제품 개발자는 전체 경로 이름 필드에서 PAGESPACE 또는 INSTWORK를 지정하여 설치 프로세스 도중 패키지 디렉토리에 필요한 작업 공간 및 페이징 공간의 디스크 공간 요구량을 표시할 수 있습니다.

디렉토리
크기 요구사항이 있는 디렉토리의 전체 경로 이름입니다.
PermanentSpace

설치 또는 갱신에 필요한 영구적 공간의 크기(단위: 512바이트 블록)입니다. 영구적 공간은 설치 완료 후 필요한 공간입니다. 이 필드는 다음과 같은 경우에는 의미가 다릅니다.

DirectoryPAGESPACE이면 PermanentSpace는 설치를 수행하는 데 필요한 페이지 공간 크기(단위: 512바이트 블록)를 표시합니다.

DirectoryINSTWORK인 경우, PermanentSpace는 설치 도중 사용되는 제어 파일을 발췌할 때 필요한 512바이트 블록 수를 나타냅니다. 이러한 제어 파일은 liblpp.a 파일로 아카이브되는 파일입니다.

TemporarySpace

설치에만 필요한 임시 공간의 크기(단위: 512바이트 블록)입니다. 임시 공간은 설치 완료 후 해제됩니다. TemporarySpace 값은 선택적입니다. 임시 공간에 대한 예로 실행 가능 오브젝트 파일을 다시 링크하는 데 필요한 공간을 들 수 있습니다. 다른 예제로 오브젝트 파일을 라이브러리에 아카이브하는 데 필요한 공간이 있습니다. 라이브러리로 아카이브하기 위해 installp 명령은 라이브러리 사본을 작성하고 복사된 라이브러리에 오브젝트 파일을 아카이브하며 복사된 라이브러리를 원래의 라이브러리로 이동시킵니다. 라이브러리 사본의 공간은 임시 공간으로 간주됩니다.

DirectoryINSTWORK이면 TemporarySpace는 발췌하지 않은 liblpp.a 파일에서 필요한 512바이트 블록 수를 표시합니다.

다음 예제는 크기 정보 절을 보여 줍니다.
/usr/bin          30
/lib              40  20
PAGESPACE         10
INSTWORK          10    6

디스크 파일 시스템이 파일 트리에 어떻게 마운트되는지를 예측하기가 어렵기 때문에 크기 정보 절의 디렉토리 경로 이름 항목은 가능하면 명확해야 합니다. 예를 들어 /usr/bin/usr/lib는 모두 /usr에 마운트된 다른 파일 시스템에 있을 수 있으므로 /usr에 대한 결합 항목 대신 /usr/bin에 대한 항목과 /usr/lib에 대한 항목이 별도로 있는 것이 좋습니다. 일반적으로 파일이 설치되어 있는 디렉토리마다 항목을 포함시키는 것이 가장 좋습니다.

갱신 패키지의 경우에는 크기 정보에 save 디렉토리로 이동시킬 (대체할) 이전 파일이 포함되어야 합니다. 이러한 이전 파일은 나중에 갱신이 거부될 경우 복원됩니다. 이러한 크기 요구사항을 표시하기 위해 갱신 패키지는 다음과 같은 특수 디렉토리를 지정해야 합니다.

/usr/lpp/SAVESPACE
usr 파트 파일의 save 디렉토리입니다. 디폴트로 usr 파트 파일은 /usr/lpp/PackageName/FilesetName/FilesetLevel.save 디렉토리에 저장됩니다.
/lpp/SAVESPACE
루트 파트 파일의 save 디렉토리입니다. 디폴트로 루트 파트 파일은 /lpp/PackageName/FilesetName/FilesetLevel.save 디렉토리에 저장됩니다.

라이센스 계약 정보

AIX 설치 프로세스에 대한 최신 추가 항목을 사용하여 제품 소유자는 고객이 제품을 설치하기 전에 라이센스 계약에 서명하도록 요구할 수 있습니다. ' installp ' 명령은 모든 이미지에 대해 평소와 같이 파일 세트의 lpp_name 파일을 읽습니다. Lpp_name 파일의 크기 섹션에 ' LAF ' 또는 ' LAR 항목이 있는 경우, ' installp ' 명령은 라이선스를 창에 표시하고 고객의 라이선스 수락을 기록하는 ' inulag ' 명령을 호출합니다. 고객이 라이센스 동의를 거부하면 해당 제품에 대한 설치가 정지됩니다.

라이센스 파일 배치 위치

라이센스 파일은 제품 소유자에 따라 다르게 배치됩니다. 그러나 라이센스를 /usr/swlag/LANG에 배치하는 것이 가장 좋습니다. 라이센스 계약 파일에 대해 제안하는 이름은 ProductName_VersionRelease.la입니다. 이 이름 또는 위치를 사용하기 위한 요구사항은 없습니다. ' installp ' 명령과 이 패키징은 단순히 고객에게 정보를 전달하는 방법을 제공하는 것입니다. 모든 도구 및 파일 내용이 제품을 통해 제공되어야 합니다.

라이센스 파일에 대한 변환 요구사항

라이센스 계약 파일을 지원되는 언어로 변환해야 하는 요구사항이 있을 경우 해당 파일을 언어별로 달리 분리하는 것이 좋습니다. 이 변환을 수행하려면 여러 파일을 작성해야 할 수 있습니다.

라이센스 파일 제공 방법

제품은 라이센스 파일을 주 제품의 일부로서 또는 제품의 별도 파일 세트에 제공할 수 있습니다. 많은 제품에서 라이센스 파일만 제공하는 별도 파일 세트를 작성하도록 선택하고 있습니다. 이렇게 하면 다양한 여러 기능이 있는 제품이 다른 여러 기능에 파일을 포함시키는 대신 각 기능에 필요한 모든 미디어에서 제공할 수 있는 하나의 라이센스 파일 및 파일 세트를 작성할 수 있습니다. 현재 제안되는 파일 세트 이름은 lpp.license 또는 lpp.loc.license입니다. 현재 대부분의 제품에서는 첫 번째 제안을 사용하고 있습니다. 표준 설치에서 라이센스 파일 세트를 고객이 보지 않게 숨기려면 lpp.loc.license를 사용하십시오. 그 이유는 설치 시 라이센스 파일 세트를 선택할 필요가 없기 때문입니다.

라이센스 파일 패키징 방법

파일 자체는 파일 세트에 대한 fileset.al 또는 fileset.inventory 파일에 나열되지 않습니다. ' installp ' 명령은 ProductName 파일의 크기 섹션에 있는 항목으로 인해 라이선스를 찾습니다. 항목 유형은 다음과 같습니다.
LAF

라이선스 계약 파일은' installp ' 명령에 이 특정 라이선스 파일이 이 파일 집합에 포함되어 있음을 알려줍니다.

라이센스 계약 파일은 다음과 함께 크기 절 항목을 통해 표시됩니다.
LAF<lang>license_file size
기간
의미
LAF
라이센스 동의 파일(LAF)을 의미합니다.
< lang>
파일이 번역되는 언어입니다. 이 항목은 일반적으로 en_US, fr_FR, Ja_JP 및 zh_TW와 같은 항목입니다. <lang>이 지정되지 않으면, 동의 파일이 번역되지 않고 ASCII로 인코딩되는 것으로 간주합니다. 사용권 계약 파일이 번역되면 <lang>은 요구사항 항목이 파일과 연관될 수 있도록 경로의 일부이어야 합니다.
license_file
이미지에서 찾을 수 있고 시스템에 배치된 사용권 파일에 대한 전체 경로입니다. 제안된 경로에서는 /usr/swlag/en_US/ProductName_VersionRelease.la 양식을 사용합니다.
크기
이는 라이선스 파일의 실제 크기(512바이트 블록)로, ' installp 라이선스 파일을 시스템에 배치할 수 있는 충분한 공간을 확보할 수 있도록 하기 위한 것입니다.
LAR

라이선스 계약 필요는' installp ' 명령에 이 파일 집합에 나열된 라이선스 계약 파일을 설치해야 한다는 것을 알려줍니다. 이는 파일 세트가 아닌 파일에 있으므로 전제조건과 같지 않습니다. 파일 및 파일 세트는 형식이 다르고 용도도 다릅니다. 이 둘을 혼동해서는 안 됩니다.

기간
의미
LAR
라이센스 계약 필수사항(LAR)을 의미합니다.
req_license_file
이 파일 세트를 설치하는 데 필요한 라이센스 파일의 전체 경로입니다. 일반적으로 이러한 항목은 실제 언어 이름 대신 경로에서 %L을 사용하여 고객이 모든 언어를 보지 않고 해당 파일을 볼 수 있게 합니다.
일반적으로 하나의 파일 세트에 모든 ' LAF 항목이 포함된 파일이 전송됩니다. 이 라이선스가 필요한 제품의 다른 파일 세트는 ' LAR ' 항목만 제공합니다. ' LAF 항목을 제공하는 파일 세트에는 BFF 이미지의 전체 경로 위치에 나열된 파일도 포함되어 있지만 파일 세트의 fileset fileset.al 또는 fileset.inventory 파일에는 파일이 나열되어 있지 않습니다. 전자 라이센스에 사용되는 설계에서는 파일을 SWVPD에 등록할 필요가 습니다. ' installp ' 명령입니다:
  1. 파일에 대한 요구사항을 찾습니다.
  2. 승인되었는지를 알아보기 위해 시스템을 검사합니다.
  3. 파일이 승인되지 않은 경우에는
    1. 파일을 제공하는 파일 세트를 찾습니다.
    2. BFF 이미지로부터 해당 파일만 발췌(복원)합니다.
    3. 파일을 고객에게 표시합니다.

LAF 파일 세트 예제

다음은 라이센스 파일을 제공하는 파일 세트에 대한 예제입니다.
iced.tea.loc.license 03.01.0000.0000 1 N U en_US IcedTea Recipe License Information
[
%
INSTWORK 16 160
LAF/usr/swlag/de_DE/iced.tea.la 24
LAF/usr/swlag/DE_DE/iced.tea.la 24
LAF/usr/swlag/en_US/iced.tea.la 24
LAF/usr/swlag/EN_US/iced.tea.la 24
LAF/usr/swlag/es_ES/iced.tea.la 24
LAF/usr/swlag/ES_ES/iced.tea.la 24
LAF/usr/swlag/fr_FR/iced.tea.la 24
LAF/usr/swlag/FR_FR/iced.tea.la 24
LAF/usr/swlag/it_IT/iced.tea.la 24
LAF/usr/swlag/IT_IT/iced.tea.la 24
LAF/usr/swlag/ja_JP/iced.tea.la 24
LAF/usr/swlag/JA_JP/iced.tea.la 32
LAF/usr/swlag/Ja_JP/iced.tea.la 24
LAF/usr/swlag/ko_KR/iced.tea.la 24
LAF/usr/swlag/KO_KR/iced.tea.la 24
LAF/usr/swlag/pt_BR/iced.tea.la 24
LAF/usr/swlag/PT_BR/iced.tea.la 24
LAF/usr/swlag/ru_RU/iced.tea.la 24
LAF/usr/swlag/RU_RU/iced.tea.la 48
LAF/usr/swlag/zh_CN/iced.tea.la 16
LAF/usr/swlag/zh_TW/iced.tea.la 16
LAF/usr/swlag/Zh_TW/iced.tea.la 16
LAF/usr/swlag/ZH_TW/iced.tea.la 24
%
%
%
]

LAR 파일 세트 예제

다음은 라이센스 파일에 라이센스 요구사항을 제공하는 파일 세트 예제입니다.
iced.tea.server 03.01.0000.0010 1 N B en_US Iced Tea Recipe Group
[
*prereq bos.net.tcp.client 5.1.0.10
*coreq iced.tea.tools 5.1.0.10
*coreq Java14.sdk 1.4.0.1
%
/usr/bin 624
/usr/lib/objrepos 24
/usr/include 16
/usr/include/sys 56
/usr/lpp/iced.tea 22
/usr/samples/iced.tea 8
/usr/samples/iced.tea/server 504
/usr/lpp/iced.tea/inst_root/etc/tea 8
/usr/iced.tea 8
/usr/lpp/iced.tea/inst_root/etc/tea/Top 8
INSTWORK 208 96
/lpp/iced.tea 104
/etc/tea 8
/etc/objrepos 8
/etc/tea/Top 8
/tmp 0 6
LAR/usr/swlag/%L/iced.tea.la 0
%
%
%
]

대체 정보 절

대체 정보 절은 이 파일 세트 또는 파일 세트 갱신이 교체 항목으로 사용될 수(또는 사용되지 않을 수) 있는 파일 세트 또는 파일 세트 갱신 레벨을 표시합니다. 대체 정보는 선택적이며 AIX 4.1형식화된 파일 세트 기본 설치 패키지 및 AIX 3.2형식화된 파일 세트 갱신 패키지에만 적용 가능합니다.

새로운 파일 세트는 lpp_name 파일의 대체 절이 대체하는 해당 파일의 최신 레벨을 식별하지 않을 경우 해당 파일 세트의 이전 버전을 대체합니다. 드문 경우이지만 파일 세트가 해당 파일 세트에 대한 모든 이전 레벨을 대체하지 않는 경우 installp 명령은 대체 절에 나열된 파일 세트 레벨보다 이전인 레벨에 대한 필수사항을 만족시키기 위해 파일 세트를 사용하지 않습니다.

파일 세트 갱신은 모든 파일, 구성 처리 및 이전 파일 세트 갱신에 포함된 필수사항 정보를 포함할 경우에만 해당 파일 세트의 이전 갱신을 대체합니다. installp 명령은 파일 세트가 다음 조건에서 해당 파일 세트에 대한 다른 갱신을 대체하는지 판별합니다.

  • 갱신에 대한 버전, 릴리스 및 수정사항 레벨이 같고 수정 레벨이 둘 모두 0이 아니며 상위 수정 레벨이 있는 갱신에는 하위 수정 레벨이 있는 갱신 레벨 이상인 파일 세트 레벨에 대한 전제조건이 없습니다.
  • 갱신에 대한 버전 및 릴리스 레벨이 같고 상위 수정 레벨이 있는 갱신에 하위 수정 레벨이 있는 갱신 레벨 이상인 파일 세트 레벨에 대한 전제조건이 없습니다.

예를 들어, 파일 세트 업데이트farm.apps.hog 4.1.0.1의 업데이트를 제공합니다/usr/sbin/sellhog. 파일 세트 업데이트farm.apps.hog 4.1.0.3에 업데이트를 제공합니다/usr/sbin/sellhog파일과/etc/hog파일로 내보냅니다. 파일 세트 갱신사항farm.apps.hog 4.1.1.2에 업데이트를 전달합니다/usr/bin/raisehog파일로 내보냅니다.

업데이트farm.apps.hog 4.1.0.3교체farm.apps.hog 4.1.0.1동일한 파일을 전달하고 동일한 레벨에 적용되기 때문입니다,farm.apps.hog 4.1.0.0.

업데이트farm.apps.hog 4.1.1.2도 대체하지 않습니다farm.apps.hog 4.1.0.3또는farm.apps.hog 4.1.0.1동일한 파일을 포함하지 않고 다른 레벨에 적용되기 때문입니다,farm.apps.hog 4.1.1.0. 업데이트farm.apps.hog 4.1.1.0교체farm.apps.hog 4.1.0.1farm.apps.hog 4.1.0.3.

파일 세트 설치 레벨(기본 레벨)의 대체 절

AIX 4.1형식 파일 세트 설치 패키지에는 다음과 같은 대체 항목이 포함될 수 있습니다.

배리어(barrier) 항목
주요 호환성 불일치가 발생한 파일 세트 레벨을 식별합니다. 이러한 호환성 불일치로 인해 현재 파일 세트가 지정된 레벨보다 이전인 파일 세트 레벨의 필수사항을 충족시키지 못합니다.
호환성 항목
파일 세트가 다른 파일 세트의 필수사항을 만족시키는 데 사용될 수 있음을 표시합니다. 호환성 항목은 파일 세트의 이름이 바뀌었거나 더 이상 사용되지 않을 때 사용됩니다. 하나의 파일 세트만 제공된 파일 세트를 대체할 수 있습니다. 파일 세트마다 하나의 호환성 항목만 지정할 수 있습니다.

lpp_name 파일에는 파일 세트에 대해 많아야 하나의 배리어(barrier) 항목과 하나의 호환성 항목이 있을 수 있습니다.

배리어(barrier) 항목은 호환성 불일치가 발생했을 때의 파일 세트 이름 및 파일 세트 레벨로 구성됩니다. 배리어(barrier) 항목은 파일 세트의 이전 레벨에 대한 필수사항을 충족시키지 못할 정도로 종속 파일 세트에 필요한 기능이 수정되거나 제거되는 파일 세트 레벨에서 호환성 불일치가 발생하는 드문 경우에만 파일 세트에 필요합니다. 배리어(barrier) 항목은 종속 파일 세트에 의해 필수사항이 충족되는 최신 파일 세트 레벨을 표시하는 파일 세트의 모든 후속 버전에 존재해야 합니다.

예를 들어, 파일 집합에 주요 비호환성이 도입된 경우Bad.Idea 6.5.6.0에 대한 정보 섹션을 대체합니다Bad.Idea파일세트 수준에서 파일세트 설치 패키지6.5.6.0이후에는Bad.Idea 6.5.6.0진입 장벽. 이 진입 장벽은 다음과 같은 요구 사항을 방지합니다Bad.Idea 6.5.4.0어떤 수준의Bad.Idea보다 크거나 같음6.5.6.0.

호환성 항목은 파일 세트 이름(패키지의 파일 세트와 다름) 및 파일 세트 레벨로 구성됩니다. 파일 세트 레벨은 지정된 파일 세트에 대한 필수사항(및 이 파일 세트의 이전 레벨)을 설치 패키지의 파일 세트가 만족시키는 레벨을 식별합니다. 호환성은 지정된 파일 세트가 더 이상 사용되지 않거나 이름이 바뀐 경우에 유용하며 지정된 파일 세트의 기능은 현재 파일 세트에 포함됩니다. 호환성 항목의 파일 세트 레벨은 지정된 파일 세트에 대해 존재하는 것으로 예상되는 레벨보다 상위 레벨이어야 합니다.

예를 들어, 다음과 같이 가정합니다Year.Full 19.91.0.0파일 집합은 더 이상 하나의 단위로 제공되지 않고 여러 개의 작은 개별 파일 집합으로 나뉩니다. 더 작은 결과 파일 세트 중 하나만, 아마도Winter 19.94.0.0의 호환성 항목이 포함되어야 합니다Year.Full 19.94.0.0. 이 호환성 항목을 사용하면Winter 19.94.0.0파일 집합에 종속된 파일 집합의 요구 사항을 충족하기 위해Year.Full레벨19.94.0.0그리고 더 일찍.

대체 처리

installp 명령은 다른 설치 또는 파일 세트 갱신사항을 대체할 파일 세트 및 파일 세트 갱신사항을 설치하는 다음과 같은 특수 기능을 제공합니다.

  • 설치 미디어에 사용자가 설치하도록 요청한 파일 세트 또는 파일 세트 갱신이 포함되어 있지 않으면 설치 미디어에 있는 대체 파일 세트 또는 파일 세트 갱신을 설치할 수 있습니다.

    예를 들어 사용자가 -g 플래그(필수 요구 사항 자동 설치)를 사용하여 installp 명령을 호출하여 다음을 설치한다고 가정해 보겠습니다farm.apps.hog 4.1.0.2파일 집합입니다. 설치 미디어에farm.apps.hog 4.1.0.4파일 세트만 설치하는 경우, installp 명령은farm.apps.hog 4.1.0.4파일 집합이 요청된 레벨을 대체하기 때문입니다.

  • 시스템 및 설치 미디어에 필수 파일 세트 또는 파일 세트 갱신이 포함되어 있지 않으면 대체 파일 세트 또는 파일 세트 갱신이 필수사항을 만족시킬 수 있습니다.
  • 설치을 위해 갱신을 요청하고 -g 플래그가 지정되면 설치 미디어의 최신 대체 갱신사항이 해당 요청을 만족시킵니다.

    -g 플래그가 installp 명령에서 지정되면, 설치에서 요청되는 갱신(명시적 또는 암시적)은 설치 미디어에 있는 최신 대체 갱신으로 충족됩니다. 사용자가 특정 레벨의 갱신(반드시 최신 레벨은 아님)을 설치하려는 경우 사용자는 -g 플래그 없이 installp 명령을 호출할 수 있습니다.

  • 설치를 위해 갱신 및 대체 갱신(모두 설치 미디어에 있음)이 요청되는 경우 installp 명령은 최신 갱신만 설치합니다.

    이 경우 사용자가 설치 미디어에서 특정 갱신 및 대체 갱신을 적용하려는 경우, 사용자는 각 갱신 레벨에 대해 별도의 installp 조작을 수행해야 합니다. 이러한 종류의 조작은 두 개의 갱신이 적용되어 확정될 때(-ac) 의미가 없습니다. 두 번째 갱신을 확정하면 첫 번째 갱신이 시스템에서 제거됩니다.

수정 정보 절

수정 정보 절은 선택사항입니다. 수정 정보 절 항목에는 수정 키워드 및 수정된 문제점에 대한 60자 이하의 설명이 포함되어 있습니다. 수정 키워드는 수정사항에 해당하는 16자 이하의 ID입니다. ' ix, ' iy' , ' IY ' 및IX '로 시작하는 수정 키워드는 운영 체제 제조업체에서 사용하도록 예약되어 있습니다.

테크놀로지 레벨은 주 갱신 레벨인 수정 레벨입니다. 정기적인 예방 유지보수 패키지는 테크놀로지 레벨입니다. 기술 수준 식별자는 소프트웨어 제품 이름(패키지가 아님)으로 시작하여 점 하나(.)와 다음과 같은 식별 레벨로 이어집니다farm.4.1.1.0.

liblpp.a 설치 제어 라이브러리 파일

liblpp.a 파일은 패키지 설치를 제어하는 데 필요한 파일이 들어있는 아카이브 파일입니다. AIX 4.3 이후 시스템에서 -g 플래그와 함께 ar 명령을 사용하여 패키지의 liblpp.a 파일을 생성하면 32비트 아카이브가 생성되도록 할 수 있습니다. 이 절에서는 liblpp.a 아카이브에 배치할 수 있는 다양한 파일에 대해 설명합니다.

이 절 전체에서 파일 세트는 제어 파일의 이름에 나타납니다. 파일 세트는 소프트웨어 패키지 내에 설치할 별도의 파일 세트 이름을 나타냅니다. 예를 들어 적용 리스트 파일이 Fileset.al로 설명된다고 가정합니다. 적용 목록 파일은bos.net.tcp.client옵션의bos.net소프트웨어 제품은bos.net.tcp.client.al.

이 절에 나열되는 파일 이외에 liblpp.a 아카이브 파일에 포함되는 파일에서는 다음 이름 지정 규칙을 사용해야 합니다.
  • 이 파일이 특정 파일 세트 설치에 사용되면 파일 이름은 Fileset 접두어로 시작해야 합니다.
  • 파일이 같은 패키지에 있는 여러 파일 세트의 공통 파일로 사용되는 경우 파일 이름은 lpp로 시작해야 합니다 합니다.

이 절에서 설명하는 다수의 파일들은 선택사항입니다. 선택적 파일은 파일이 제공하는 기능이 파일 세트 또는 파일 세트 갱신에 필요할 경우에만 필요합니다. 언급하지 않는 한 파일은 전체 설치 패키지 및 파일 세트 갱신 패키지 모두에 관련됩니다.

liblpp.a 파일에 포함된 데이터 파일

Fileset.al
적용 리스트입니다. 이 파일은 이 파일 세트용으로 복원될 모든 파일을 나열합니다. 파일은 다음과 같이 루트를 기준으로 경로를 사용하여 한 줄에 하나씩 나열됩니다./usr/bin/pickle. 파일 세트 또는 파일 세트 업데이트와 함께 파일이 전달되는 경우 적용 목록 파일이 필요합니다.
Fileset.cfginfo
특수 지시사항 파일입니다. 이 파일은 행 당 하나의 키워드를 나열하며, 각 키워드는 파일 세트 또는 파일 세트 갱신의 특수한 특성을 표시합니다. 현재 유일하게 인식되는 키워드는 BOOT이며, 이 키워드는 설치가 완료된 후 시스템을 재시작해야 함을 알리는 메시지를 생성합니다.
파일세트.cfg파일
이미 설치되어 있는 파일 세트 레벨 이상을 적용할 때 사용할 사용자 구성 가능 파일 및 처리 지시사항 리스트입니다. Fileset.al 파일에 나열된 파일을 복원하기 전에, 시스템은 Fileset.cfgfiles 파일에 나열된 파일을 저장합니다. 나중에 이 저장된 파일은 Fileset.cfgfiles 파일에 지정된 처리 방법에 따라 처리됩니다.
Fileset.copyright
파일 세트에 필요한 저작권 정보 파일입니다. 이 파일은 소프트웨어 제품의 전체 이름과 뒤에 오는 저작권 주의사항으로 구성됩니다.
Fileset.err
오류 레코드 템플릿 리포지토리에 항목을 추가하거나 삭제하기 위해 errupdate 명령의 입력으로 사용되는 오류 템플릿 파일입니다. 이 파일은 일반적으로 장치 지원 소프트웨어에서 사용됩니다. errupdate 명령은 정리를 위해 Fileset.undo.err 파일을 작성합니다. Fileset.err 파일의 형식에 대한 자세한 내용은 errupdate 명령을 참조하세요. 이 파일은 파일 세트의 루트 파트에만 포함될 수 있습니다.
파일세트.수정데이터
스탠자 형식 파일입니다. 이 파일에는 파일 세트 또는 파일 세트 갱신에 포함된 수정사항에 대한 정보가 들어 있습니다.
파일세트.인벤토리
인벤토리 파일입니다. 이 파일에는 파일 세트 또는 파일 세트 갱신에 있는 파일에 필요한 소프트웨어 필수 제품 데이터가 들어 있습니다. 인벤토리 파일은 설치되거나 갱신될 각 파일의 항목을 포함하는 스탠자 형식 파일입니다.
파일세트.이름 목록
설치될 파일 세트에 현재 존재하는 파일을 포함한 경우 더 이상 사용되지 않는 파일 세트 및 현재 파일 세트(적용 가능한 경우)의 리스트입니다. 이 파일은 다시 패키징화된 소프트웨어 제품의 설치에만 사용됩니다.
Fileset.odmadd 또는 Fileset.*.odmadd
오브젝트 데이터 관리자(ODM) 데이터베이스에 추가되는 스탠자입니다.
파일세트.rm_inv
제거 인벤토리 파일입니다. 이 파일은 다시 패키징된 소프트웨어 제품의 설치 전용이며, 파일 세트가 더 이상 사용되지 않는 파일 세트에 대한 직접 대체가 아닐 경우에 반드시 있어야 합니다. 이 스탠자 형식 파일에는 더 이상 사용되지 않는 파일 세트에서 제거해야 할 파일의 이름이 포함되어 있습니다.
Fileset.size
이 파일에는 이 절에서 이전에 설명된 이 파일 세트에 포함된 파일의 공간 요구량이 포함되어 있습니다.
Fileset.trc
추적 보고서 템플리트 파일입니다. Trcupdate 명령은 이 파일을 사용하여 /etc/trcfmt 파일에 추적 보고서 항목을 추가, 교체 또는 삭제합니다. trcupdate 명령은 정리를 위해 Fileset.undo.trc 파일을 작성합니다. 패키지의 루트 파트에만 Fileset.trc 파일이 포함될 수 있습니다.
lpp.acf
전체 패키지에 대한 아카이브 제어 파일입니다. 이 파일은 아카이브 멤버 파일을 시스템에 이미 존재하는 아카이브 파일에 추가하거나 대체할 때에만 필요합니다. 아카이브 제어 파일은 Fileset.al 파일에 나열된 대로 임시 디렉토리에 있는 멤버 파일과 멤버가 속하는 아카이브 파일의 쌍이 포함되는 라인으로 구성되며, 이들은 모두 다음과 같이 루트에 대한 상대 경로로 나열됩니다.
./usr/ccs/lib/libc/member.o ./usr/ccs/lib/libc.a
lpp.README
readme 파일입니다. 이 파일에는 해당 소프트웨어를 사용하기 전에 사용자가 읽어야 할 정보가 들어 있습니다. 이 파일은 선택사항이며 README, lpp.doc, lpp.instr 또는 lpp.lps로 이름이 지정될 수 있습니다.
productid
제품 식별 파일입니다. 이 파일은 제품 이름, 제품 ID(20자로 제한) 및 선택적 기능 번호(10자로 제한)를 표시하는 단일 행으로 구성됩니다.

liblpp.a 파일에 포함된 선택적 실행 파일

이 절에서 설명된 제품 고유의 실행 파일은 설치 프로세스 중에 호출됩니다. 달리 언급되지 않을 경우 _i로 끝나는 파일 이름은 설치 처리 중에만 사용되고, _u로 끝나는 파일 이름은 파일 세트 갱신 처리 시에만 사용됩니다. 이 절에서 설명된 모든 파일은 선택사항이며, 쉘 스크립트 또는 실행 가능 오브젝트 모듈일 수 있습니다. 프로그램이 설치 또는 갱신에 실패하도록 하려는 경우가 아니면 각 프로그램에는 리턴 값 0(제로)이 있어야 합니다.

Fileset.config 또는 Fileset.config_u
디폴트 설치 또는 갱신 프로세스의 종료 직전에 구성을 수정합니다. Fileset.config는 설치 처리 중에만 사용됩니다.
Fileset.odmdel 또는 Fileset.*.odmdel
파일 세트의 새 ODM 항목을 추가하기 전에 파일 세트의 ODM 데이터베이스 정보를 갱신합니다. odmdel 파일 이름 지정 규칙을 사용하면 파일 세트에 복수 odmdel 파일을 포함시킬 수 있습니다.
Fileset.pre_d
파일 세트가 설치 제거 중에 제거될 수 있는지 여부를 표시합니다. 이 프로그램은 파일 세트가 제거될 수 있을 경우 값 0(제로)을 리턴해야 합니다. 파일 세트는 디폴트로 제거 가능합니다. 프로그램은 파일 세트를 제거할 수 없는 이유를 표시하는 오류 메시지를 생성해야 합니다.
Fileset.pre_i 또는 Fileset.pre_u
패키지의 적용 리스트에서 파일을 복원하거나 저장하기 전이지만 이전에 설치된 파일 세트 버전에서 파일을 제거한 후에 실행됩니다.
Fileset.pre_rej
거부 조작 이전 또는 파일 세트의 거부 조작에 대한 사전 열람 이전에 실행됩니다. 스크립트를 사용하여 파일 세트를 거부할 수 있는지 여부를 판별하십시오. 시스템에 있는 임의의 항목을 변경하는 명령을 실행하기 위해 이 스크립트를 사용하지 마십시오. 스크립트가 0이 아닌 리턴 코드와 함께 종료되면 거부 조작이 허용되지 않습니다.
Fileset.pre_rm
이전에 설치된 파일 세트 버전에서 파일을 제거하기 전의 파일 세트 설치 중에 실행됩니다.
Fileset.post_i 또는 Fileset.post_u
파일 세트 설치 또는 갱신의 적용 리스트에서 파일을 복원한 후 실행됩니다.
Fileset.unconfig 또는 Fileset.unconfig_u
파일 세트의 설치 제거 또는 거부 중 설치 또는 갱신 시 수행된 구성 처리를 실행 취소합니다. Fileset.unconfig는 설치 제거 처리 중에만 사용됩니다.
Fileset.unodmadd
설치 또는 갱신 중 ODM 데이터베이스에 추가된 항목을 삭제합니다.
Fileset.unpost_i 또는 Fileset.unpost_u
파일 세트의 설치 제거 또는 거부 중 설치 또는 갱신 시 적용 리스트에서 파일을 복원한 다음에 수행된 처리를 실행 취소합니다.
Fileset.unpre_i 또는 Fileset.unpre_u
파일 세트의 설치 제거 또는 거부 중 설치 또는 갱신 시 적용 리스트에서 파일을 복원하기 이전에 수행된 처리를 실행 취소합니다.

이러한 실행 파일이 머신의 장치 구성을 변경할 수 있는 명령을 실행할 경우 해당 실행 파일은 명령을 실행하기 전에 INUCLIENTS 환경 변수를 검사해야 합니다. INUCLIENTS 환경 변수가 설정되어 있으면 명령을 실행해서는 안 됩니다. 네트워크 설치 관리(NIM) 환경에서는 여러 용도로 installp 명령을 사용하며, 이 중 일부에서는 installp 명령이 정상 처리 중 일부를 생략해야 합니다. NIM은 이 정상 처리를 생략해야 할 때 INUCLIENTS 환경 변수를 설정합니다.

디폴트 설치 처리가 패키지에 대해 충분하지 않을 경우 liblpp.a 파일의 다음 실행 파일을 제공할 수 있습니다. 이러한 파일이 패키지에서 제공되면 installp 명령은 시스템 디폴트 파일 대신에 패키지 제공 파일을 사용합니다. 패키지 제공 파일에는 디폴트 파일과 동일한 기능이 포함되어야 합니다. 그렇지 않으면 예기치 않은 결과가 발생할 수 있습니다. 디폴트 파일을 고유 파일을 작성하기 위한 모델로 사용할 수 있습니다. 패키지 제공 파일 대신 디폴트 파일을 사용하는 것이 좋습니다.

instal
디폴트 설치 스크립트 /usr/lib/instl/instal 대신 사용됩니다. installp 명령은 설치 패키지의 파일 세트가 적용될 경우 이 실행 파일을 호출합니다.
lpp.cleanup
디폴트 설치 정리 스크립트 /usr/lib/instl/cleanup 대신 사용합니다. installp 명령은 설치 또는 갱신 패키지의 파일 세트를 부분적으로 적용하고 파일 세트를 다시 지속 상태로 두기 위해 정리해야 하는 경우 이 실행 파일을 호출합니다.
lpp.deinstal
디폴트 파일 세트 제거 스크립트 /usr/lib/instl/deinstal 대신 사용됩니다. 이 실행 파일은 /usr/lpp/PackageName 디렉토리에 배치되어야 합니다. installp 명령은 설치 패키지의 파일 세트가 제거되면 이 실행 파일을 호출합니다.
lpp.reject
디폴트 설치 거부 스크립트 /usr/lib/instl/reject 대신 사용됩니다. installp 명령은 갱신 패키지의 파일 세트 갱신이 거부될 경우 이 실행 파일을 호출합니다. (디폴트 /usr/lib/instl/reject 스크립트는 /usr/lib/instl/cleanup 스크립트에 대한 링크입니다.)
update
디폴트 파일 세트 갱신 스크립트 /usr/lib/instl/update 대신 사용됩니다. installp 명령은 갱신 패키지의 파일 세트가 적용될 경우 이 실행 파일을 호출합니다. (디폴트 /usr/lib/instl/update 스크립트는 /usr/lib/instl/instal 스크립트에 대한 링크입니다.)
Installp 명령과 호환성을 보장하려면 소프트웨어 패키지와 함께 제공되는 설치 또는 업데이트 실행 파일이 있어야 합니다:
  • 소프트웨어 패키지의 모든 파일 세트를 처리합니다. 모든 파일 세트의 설치를 처리하거나 파일 세트마다 다른 실행 파일을 호출할 수 있습니다.
  • 설치하려는 파일의 현재 레벨을 저장하려면 inusave 명령을 사용합니다.
  • 배포 미디어에서 usr 부분에 필요한 모든 파일을 복원하려면 inurest 명령을 사용합니다.
  • ' inucp ' 명령을 사용하여 ' /usr/lpp/ '패키지_이름 '/inst_root ' 디렉토리에서 루트 파트에 필요한 모든 파일을 복사합니다.
  • 설치 중이거나 갱신 중인 각 파일 세트에 대해 성공 또는 실패를 표시하는 $INUTEMPDIR/status 파일을 작성합니다.
  • 설치 상태를 표시하는 종료 코드를 리턴합니다. instal 또는 update 실행 파일이 0이 아닌 리턴 코드를 리턴하지만 status 파일을 찾을 수 없을 경우 설치 프로세스는 모든 파일 세트가 실패한 것으로 간주합니다.

Fileset.al 파일에 포함된 선택적 실행 파일

Fileset.unconfig_d
파일 세트의 설치 및 갱신 중 수행된 파일 세트 고유의 구성 조작을 실행 취소합니다. Fileset.unconfig_d 파일은 -u 플래그가 installp 명령에 지정되어 있을 때 사용됩니다. 이 파일이 제공되지 않고 -u 플래그는 지정되어 있는 경우, Fileset.unconfig, Fileset.unpost_iFileset.unpre_i 조작이 수행됩니다.

설치 제어 파일 Fileset.cfgfiles 파일에 대한 추가 설명

Fileset.cfgfiles 파일은 사용자가 구성한 데이터를 유실하지 않고도 파일 세트의 새 버전으로 마이그레이션하기 위해 저장해야 하는 구성 파일을 나열합니다. 사용자 구성 데이터를 유지하기 위해서는 Fileset.cfgfiles 파일이 해당 liblpp.a 파일(usr 또는 루트)에서 제공되어야 합니다.

Fileset.cfgfiles에는 저장할 각 파일당 한 행의 항목이 들어 있습니다. 각 항목에는 파일 이름(루트에 상대경로인 경로 이름), 공백 구분자 및 파일을 이주시키기 위한 처리 방법을 설명하는 키워드가 포함되어 있습니다. 처리 방법 키워드는 다음과 같습니다.

preserve
설치된 새 파일 버전을 저장 디렉토리에 저장된 버전으로 대체합니다. 새 파일을 저장된 버전으로 대체한 이후 구성 저장 디렉토리에서 저장된 파일은 삭제됩니다.
auto_merge
Fileset.post_i 처리 중 제품에서 제공되는 실행 파일은 설치된 신규 버전 파일에서 필요한 데이터를 구성 저장 디렉토리에 저장된 파일의 이전 버전과 병합합니다. Fileset.post_i 처리 후, installp 명령은 설치된 파일의 신규 버전 파일을 구성 저장 디렉토리(있는 경우)에 있는 병합된 버전으로 대체한 후 저장된 파일을 제거합니다.
hold_new
설치된 새 파일 버전을 저장 디렉토리에 저장된 버전으로 대체합니다. 새 파일 버전은 이전 버전 대신에 구성 저장 디렉토리에 배치됩니다. 사용자는 새 버전을 참조할 수 있습니다.
user_merge
설치된 새 버전 파일을 시스템에 남겨 두고 이전 버전 파일을 구성 저장 디렉토리에 보관합니다. 사용자는 이전 버전을 참조하여 필요한 모든 병합을 수행할 수 있습니다. 가능하면 이 키워드는 피해야 합니다.
기타
정의된 다른 모든 처리 방법이 충분하지 않은 경우에 사용됩니다. installp 명령은 파일을 구성 저장 디렉토리에 저장하며 후속 지원을 제공하지 않습니다. 구성 파일의 모든 기타 조작 및 처리는 제품 제공 실행 파일에서 수행해야 합니다. 제품 개발자는 파일 처리를 문서화해야 합니다.

Fileset.post_i 실행 파일은 디폴트 설치 처리를 통해 수행할 수 없는 구성 데이터의 특정 조작 또는 병합을 수행할 때 사용할 수 있습니다.

파일 세트에 나열된 구성 파일.파일은 파일 집합에 지정된 것과 동일한 상대 경로 이름으로 구성 저장 디렉터리에 저장됩니다.cfgfiles 파일. 구성 저장 디렉토리의 이름은 MIGSAVE 환경 변수에 저장됩니다. 저장 디렉토리는 설치 중인 패키지의 일부와 일치합니다. 다음 디렉토리는 구성 저장 디렉토리입니다.

/usr/lpp/save.config
usr 파트의 경우
/lpp/save.config
root 파트의 경우

저장해야 하는 파일 리스트가 현재 설정된 파일 세트 레벨에 따라 달라지는 경우, Fileset.cfgfiles 파일에는 발견할 수 있는 구성 파일의 전체 리스트가 포함되어야 합니다. 필요한 경우 Fileset.post_i 실행 파일(또는 기타 제품에서 제공하는 실행 파일)에서 차이를 처리해야 합니다.

예를 들어 구성할 수 있는 하나의 파일이 있는 파일 세트(change.rte)가 있다고 가정합니다. 루트 change.rte.cfgfiles에는 하나의 파일이 나열됩니다.

/etc/change_user   user_merge

이전 파일 세트(change.obj)에서 change.rte로 마이그레이션하는 경우, 형식이 변경되므로 이 파일을 유지할 수 없습니다. 그러나 이전 레벨 change.rte에서 신규 레벨 change.rte로 마이그레이션하는 경우에는 파일을 유지할 수 있습니니다. 이 경우 사용자는 이주 중인 파일 세트를 검사하고 적절히 작동하는지 검사하는 change.rte.post_i 스크립트를 작성할 수 있습니다. 사용자가 /etc/change_user 파일을 변경하는 경우 이와 같은 방식으로 해당 변경사항이 저장됩니다.

루트 change.bar.post_i 스크립트는 다음과 같습니다.
#! /bin/ksh
rc=0
grep -q change.rte $INSTALLED_LIST
if [$? = 0]
then
mv $MIGSAVE/etc/change_user/ /etc/change_user
rc=1
fi
exit $rc

$INSTALLED_LIST는 installp에 의해 작성되고 반출됩니다. Fileset.installed_list 구성 파일에 대한 자세한 정보는 재패키징된 제품 고유의 제어 파일 설치를 참조하십시오. $MIGSAVE 변수에는 루트 파트 구성 파일이 저장되는 디렉토리의 이름이 들어 있습니다.

installp 명령은 Fileset.cfgfiles 파일에 나열된 파일을 찾을 수 없는 경우 경고 또는 오류 메시지를 생성하지 않습니다. 저장된 구성 파일이 처리 방법에 따라 처리되는 경우 installp 명령은 Fileset.post_i 처리 이후 단계에서 발견하지 못한 파일에 대해 메시지를 생성하지 않습니다. 모든 경고 또는 오류 메시지를 생성하도록 하려면 제품 제공 실행 파일에서 메시지를 생성해야 합니다.

Fileset.cfgfiles 파일의 예로서Product_X.option1파일 집합의 루트 부분에 있는 세 개의 구성 파일에서 사용자 구성 데이터를 복구해야 합니다. 다음Product_X.option1.cfgfiles의 루트 부분에 포함되어 있습니다liblpp.a파일에는 다음이 포함됩니다:
./etc/cfg_leafpreserve
./etc/cfg_pudding hold_new
./etc/cfg_newtonpreserve

Fileset.fixdata 파일

파일세트.수정데이터
파일 세트 갱신(또는 갱신 대신에 사용될 경우 파일 세트 설치)에 포함된 수정사항을 설명하는 스탠자 형식 파일입니다.

이 파일의 정보는 수정 데이터베이스에 추가됩니다. Instfix 명령은 이 데이터베이스를 사용하여 시스템에 설치된 수정 사항을 식별합니다. Fileset.fixdata가 패키지에 있으면, 패키지를 적용할 때 수정 데이터베이스에 있는 수정 정보도 갱신됩니다.

파일 세트의 각 수정에는 Fileset.fixdata 파일에 고유 스탠자가 있습니다. Fileset.fixdata 스탠자의 형식은 다음과 같습니다.

fix:
name = FixKeyword
abstract = Abstract
type = {f | p}
filesets = FilesetName FilesetLevel
[FilesetName FilesetLevel ...]
[symptom = [Symptom]]
  • FixKeyword는 16자를 초과할 수 없습니다.
  • Abstract는 수정에 대해 설명하며 60자를 초과할 수 없습니다.
  • type 필드에서 f는 수정을 표시하고 p는 예방 유지보수 갱신을 표시합니다.
  • filesets 필드에는 파일 세트 및 파일 세트 레벨에 대한 줄 바꾸기로 구분되는 리스트가 포함되어 있습니다.
  • FilesetLevel은 파일 세트가 수정 중 일부 또는 전부를 전달한 초기 레벨입니다.
  • Symptom은 수정으로 수정된 문제점에 대한 선택적 설명입니다. Symptom에는 문자 수 제한이 없습니다.

다음 예제는 문제에 대한 파일세트.fixdata 구문을 보여줍니다MS21235. 이 문제에 대한 수정 사항은 두 개의 파일 세트에 포함되어 있습니다.

fix:
name = MS21235
abstract = 82 gigabyte diskette drive unusable on Mars
type = f
filesets = devices.mca.8d77.rte 12.3.6.13
devices.mca.8efc.rte 12.1.0.2
symptom = The 82 gigabyte subatomic diskettes fail to operate in a Martian environment.

Fileset.inventory 파일

파일세트.인벤토리
파일 세트에 대해 설치되거나 갱신될 각 파일에 대한 특정 정보가 포함되어 있는 파일입니다.
sysck
Fileset.inventory 파일을 사용하여 소프트웨어 정보 데이터베이스에 파일 이름, 제품 이름, 유형, 체크섬, 크기, 링크 및 기호 정보를 입력하는 명령입니다.

Fileset.inventory 파일은 파일을 설치 또는 갱신하는 파일 세트 각 파트에 필요합니다. 패키지에 설치될(구성만 수행함) 파일이 없는 루트 파트가 있을 경우 루트 파트에는 Fileset.inventory 파일이 필요 없습니다.

주: Fileset.inventory 파일에서는 크기가 2GB 이상인 파일은 지원하지 않습니다. 2GB 이상인 파일을 제공하는 경우, 이를 Fileset.inventory 파일이 아닌 fileset.al 파일에 포함시키십시오. sysck는 2GB 이상인 파일을 처리하도록 갱신되지 않았으므로 대부분 머신의 /usr 파일 시스템에서는 2GB 이상의 파일을 처리하는 성능이 생성되지 않습니다(디폴트).

인벤토리 파일은 스탠자 형식의 ASCII 텍스트로 구성됩니다. 스탠자 이름은 설치될 파일의 전체 경로 이름입니다. 스탠자 이름은 콜론(:)으로 끝나고 줄 바꾸기 문자가 뒤에 옵니다. 파일 속성은 스탠자 이름 뒤에 오며 Attribute=Value 형식을 사용합니다. 각 속성에 대해서는 별도 행에서 설명합니다.

Fileset.inventory 스탠자의 형식은 다음과 같습니다.
inventory:
type     = type
class    = inventory,apply,C2_exclude,fileset
owner    = owner_name
group    = group_name
mode     = TCB | SUID | SGID,permissions
target   = fullpath_filename
link     = fullpath_to_hardlink [additional_hardlinks]
size     =<blank> | VOLATILE |size
checksum =<blank> | VOLATILE |"checksum"
표 4. 유효한 속성
속성 설명
file_name 루트(./)에 대한 파일 또는 링크의 전체 상대 경로로서 바로 뒤에 콜론(:)과 줄 바꾸기가 옵니다. 이 전체 경로 이름의 최대 길이는 255자 입니다.
type 유효한 유형이 다음 중 하나인 file_name 항목의 유형입니다.
키워드
의미
파일
표준 파일입니다.
DIRECTORY
디렉토리
SYMLINK
기호 링크에 대한 전체 경로입니다.
Class 설치 중 file_name을 참조하는 방법을 지정합니다. 이 필드에는 다음 키워드 중 최소한 두 개 이상이 있어야 합니다.
유형 항목
의미
인벤토리
설치를 완료한 후 파일이 남아 있음을 표시합니다. 파일은 인벤토리 SWVPD 데이터베이스에 추가됩니다. fileset.il 파일에 ' A 형식의 파일과 함께 사용하면 안 됩니다.
apply
파일이 설치 미디어로부터 복원될 것임을 표시합니다. file_name 필드는 적용 리스트(fileset.al)에 나열됩니다. fileset.il 파일에 있는 ' I 유형 파일에는 사용하지 않아야 합니다.
C2_exclude
이 파일이 C2 보안 시스템에서 실행되지 않도록 제외되어야 함을 표시합니다. 이 플래그가 사용되는 경우, 파일도 fileset.tcb 파일에 나열되어야 합니다.
소유자 설치 후의 파일 소유자를 지정합니다. 이 필드에 UID를 사용하지 마십시오. 속성값은 소유자 이름이어야 하고 8자 미만이어야 합니다.
그룹 파일 그룹을 지정합니다. 이 필드에 UID를 사용하지 마십시오. 속성값은 그룹 이름이어야 하고 8자 미만이어야 합니다.
모드 파일 모드를 지정합니다. 값에는 8진 형식으로 된 파일에 대한 권한이 포함되어야 합니다. 다음의 모든 키워드는 권한 값보다 우선할 수 있습니다. 리스트에서 항목은 쉼표로 구분합니다.
모드 항목
의미
TCB
"신뢰있는 전산구조(TCB)"의 일부입니다. 파일이 ' SUID 루트 또는 ' SGID 시스템인 경우 파일은 ' TCB'이어야 합니다.
suid
이 파일에는 사용자 ID 설정 비트 세트가 있습니다. ' DIRECTORY 항목에는 의미가 없습니다.
sgid
이 파일에는 그룹 ID 설정 비트 세트가 있습니다. ' DIRECTORY 항목에 설정하면 해당 디렉터리에서 생성된 모든 파일이 디렉터리와 동일한 그룹을 갖도록 강제합니다.
권한
3자리수로 된 8진 숫자이어야 합니다(예: 644).
참고: 유형이 SYMLINK인 경우 모드는 777이어야 합니다. 다른 항목은 유효하지 않습니다.
링크 이 파일에 대한 모든 하드 링크를 나열합니다. 복수의 하드 링크가 존재하면 하드 링크에 대한 각각의 전체 경로는 쉼표로 분리됩니다. 하드 링크는 소스 파일과 동일한 디렉토리에 있어야 합니다. 항목 유형이 ' SYMLINK인 경우 ' link '는 유효하지 않습니다. 전체 경로 이름의 최대 길이는 255자입니다.
대상 type=SYMLINK에만 유효합니다. 이것은 링크의 목표에 대한 전체 경로 파일 이름입니다. 작성 중인 링크가 /usr/bin에서 /bin으로의 링크인 경우, 파일 이름은 /bin이고 목표는 /usr/bin이 됩니다. 전체 경로 이름의 최대 길이는 255자입니다.
size
모드 항목
의미
이 필드가 공백일 경우 파일 이름의 크기는 설치 시에 결정됩니다. 이 옵션 사용에 대한 단점은 설치 중에 파일이 손상된 경우 고객이 이를 알 수 없다는 점입니다.
VOLATILE
파일 크기가 정상 조작을 통해 변경될 것으로 예상되는 경우 이 속성값은 VOLATILE이어야 합니다.
size
파일의 정확한 크기입니다.
참고: ' DIRECTORY ' 또는 ' SYMLINK 항목의 크기 필드는 포함하지 마세요.
체크섬
모드 항목
의미
이 필드가 비어 있으면 파일이 설치될 때 인벤토리 SWVPD 데이터베이스에 저장될 sum -r 명령에서 반환되는 값입니다.
VOLATILE
블록 단위의 파일 크기를 지정합니다. 파일 크기가 정상 조작을 통해 변경될 것으로 예상되는 경우 이 속성값은 VOLATILE이어야 합니다.
체크섬
Sum -r 명령이 반환한 파일의 정확한 합계입니다. 이 값은 이중 인용 부호로 묶여야 합니다.
참고: ' DIRECTORY ' 또는 ' SYMLINK 항목의 체크섬 필드는 포함하지 마세요.

fileset

파일이 속한 파일 세트를 표시합니다.
참고: sysck 명령은 설치 중에 해당 링크가 없는 경우 하드 링크와 심볼릭 링크를 생성합니다. 루트 파트 기호 링크는 루트 파트 Fileset.inventory 파일에서 패키징되어야 합니다.

fileset.inventory 예제

다음 fileset.inventory 예제는 ' type'의 사용을 보여줍니다.

/usr/bin:
        owner = bin
        group = bin
        mode = 755
        type = directory
        class = apply,inventory,bos.rte


/usr/bin/tcbck:
        owner = root
        group = security
        mode = TCB,SUID,550
        type = file
        class = apply,inventory,bos.rte.security
        size = 99770
        checksum = "17077     98 "


/usr/sbin/tsm:
        owner = root
        group = security
        mode = TCB,SUID,555
        links = /usr/sbin/getty,/usr/sbin/login
        class = apply,inventory,bos.rte,security
        size = 55086
        checksum = "57960     54 "

재패키징된 제품 고유의 설치 제어 파일

Fileset.installed_list
패키지에서 파일 세트를 설치할 때 파일 세트(또는 파일 세트의 특정 양식)가 특정 레벨로 이미 시스템에 설치되어 있는 경우 installp 명령으로 작성되는 파일입니다.

Fileset 또는 Fileset.namelist 파일에 나열된 파일 세트(있는 경우)가 이미 시스템에 설치되어 있는지 판별하기 위해 소프트웨어 정보 데이터베이스를 검색합니다. 설치되어 있을 경우 파일 세트 및 설치 레벨이 Fileset.installed_list 파일에 기록됩니다.

작성되면 Fileset.installed_listrminstalinstal 실행 파일 호출 시 사용 가능합니다. Fileset.installed_list 파일은 다음 디렉토리, 패키징 작업 디렉토리 또는 PackageWorkDirectory에서 찾을 수 있습니다.
/usr/lpp/
usr 파트의 경우 PackageName입니다.
/lpp/
root 파트의 경우 PackageName입니다.

Fileset.installed_list 파일에는 설치된 각 파일 세트에 대해 한 행의 항목이 있습니다. 각 항목에는 파일 세트 이름 및 파일 세트 레벨이 포함되어 있습니다.

예를 들어storm.rain 1.2.0.0파일 집합이 설치되고 있는 경우, installp 명령은 다음을 검색합니다storm.rain 1.1.0.0가 이미 설치되어 있습니다. 그런 다음 installp 명령은 PackageWorkDirectory 생성합니다/storm.rain.installed_list파일에 다음 내용을 추가합니다:
storm.rain 1.1.0.0
또 다른 예로Baytown.com파일세트에는Baytown.com.namelist파일에 다음 항목을 추가합니다:
Pelly.com
GooseCreek.rte
CedarBayou.stream 
설치하는 동안Baytown.com 2.3.0.0파일 집합을 찾으면 installp 명령은Pelly.com 1.2.3.0CedarBayou.stream 4.1.3.2가 설치되어 있습니다. Installp 명령은 패키지작업 디렉터리/를 생성합니다Baytown.com.installed_list파일에 다음 내용을 추가합니다:
Pelly.obj 1.2.3.0
CedarBayou.stream 4.1.3.2
표 5. Fileset.namelist 파일
속성 설명
파일세트.이름 목록 이 파일은 파일 세트 이름이 변경되었거나 파일 세트에 더 이상 사용되지 않는 파일 세트에서 이전에 패키징된 파일이 포함되어 있는 경우 필요합니다. 이 파일에는 이전에 포함된 파일이 설치될 파일 세트에 현재 포함되는 모든 파일 세트 이름이 들어 있습니다. 각 파일 세트 이름은 별도의 행에 표시되어야 합니다.

Fileset.namelist 파일은 theliblppliblpp.a 파일의 ' usr ' 또는 ' root ' 부분에 제공해야 합니다. 파일 세트.네임리스트 파일은 설치 패키지에만 유효하며 업데이트 패키지에는 유효하지 않습니다.

설치 시작 시에 installp 명령은 SWVPD(Software Vital Product Data)를 검색하여 해당 파일 세트 또는 Fileset.namelist 파일에 나열되어 있는 파일 세트가 이미 시스템에 설치되어 있는지 판별합니다. installp 명령은 설치한 것으로 발견된 파일 세트 이름 및 파이 세트 레벨을 Fileset.installed_list 파일에 기록하여 제품에서 제공하는 실행 파일에서 이 정보를 사용할 수 있도록 합니다.

Fileset.namelist 파일의 간단한 예로, 다음과 같이 가정합니다small.business파일세트는 이전 파일세트인family.business. small.business제품 패키지에는small.business.namelist파일에 liblpp.a 파일을 추가합니다. 다음small.business.namelist파일에는 다음 항목이 포함되어 있습니다:
family.business
Fileset.namelist 파일의 복잡한 예로서, 여기에서는 파일 세트가 클라이언트 파일 세트와 서버 파일 세트로 나뉘어 있습니다. 다음LawPractice.clientLawPractice.server파일 세트는 이전lawoffice.mgr파일 집합입니다. 다음LawPractice.server파일 세트에는 더 이상 사용되지 않는 파일도 몇 개 포함되어 있습니다BusinessOffice.mgr파일 집합입니다. 다음LawPractice.client.namelist파일을 liblpp.a 파일에서LawPractice패키지에는 다음 항목이 포함되어 있습니다:
lawoffice.mgr
다음LawPractice.server.namelist파일을 liblpp.a 파일에서LawPractice패키지에는 다음 항목이 포함되어 있습니다:
lawoffice.mgr
BusinessOffice.mgr

Fileset.namelist 파일에 항목이 하나만 포함되어 있고 현재 파일 집합이 파일 집합에 나열된 파일 집합을 직접 대체하지 않는 경우.네임리스트 파일을 사용하려면 liblpp.a 파일에 Fileset.rm_inv 파일을 포함해야 합니다. 설치 프로세스에서는 Fileset.namelist 파일 및 Fileset.rm_inv 파일을 사용하여 파일 세트가 다른 파일 세트에 대한 직접적인 교체 파일 세트인지를 판별합니다. Fileset.namelist 파일에 단 하나의 항목만 있고 Fileset.rm_inv 파일이 없으면, 설치 프로세스는 새 파일 세트가 이전 파일 세트의 직접 교체 파일 세트인 것으로 간주합니다. 새로운(교체) 파일 세트가 설치되면 설치 프로세스는 시스템에서 이전(교체된) 파일 세트의 모든 파일을 제거하며, 새로운 파일 세트에 포함되어 있지 않은 파일까지도 제거합니다.

이전 예제에서는small.business파일 집합을 직접 대체합니다family.business파일 집합을 사용하므로small.business.rm_inv파일이 존재하지 않아야 합니다. 다음LawPractice.client파일 집합은lawoffice.mgr파일 집합을 사용하므로LawPractice.client.rm_inv파일이 비어 있더라도 존재해야 합니다.

예제 3:

파일 세트 bagel.shop.rtebread.shop.rte는 몇 년 동안 별도로 제공되어 왔습니다. 이제 bagel.shop.rtebread.shop.rte의 일부로 제공하여 합니다. 이렇게 하려면 bread.shop.rte.namelist 파일은 다음과 같습니다.
bread.shop.rte
bagel.shop.rte

또한 bagel.shop.rte 파일 세트의 모든 파일이 시스템에서 제거되어야 함을 표시하려면 빈 bread.shop.rte.rm_inv 파일도 제공해야 합니다.

표 6. Fileset.rm_inv 파일
속성 설명
파일세트.rm_inv 설치되어 있는 경우 시스템에서 제거할 파일, 링크 및 디렉토리의 리스트가 포함되어 있는 파일입니다.

이 파일은 현재 파일 세트가 이전 파일 세트 레벨과 다르게 패키징되는 경우 사용되며, 설치 프로세스는 인벤토리 데이터베이스의 파일 세트 항목을 기준으로 이전에 설치된 파일을 제거해서는 안 됩니다.

파일 세트에 대한 단순 이름 변경은 Fileset.rm_inv 파일을 요청하기에 충분하지 않습니다. Fileset.rm_inv 파일은 새로운 파일 세트가 이전 파일 세트의 서브 세트이거나 이전 파일 세트의 혼합 파트일 경우에 필요합니다. Fileset.namelist 파일이 있고 둘 이상의 파일 세트에 대한 항목이 들어 있으면, Fileset.rm_inv 파일을 사용하여 시스템에서 이전에 설치된 파일 레벨을 제거해야 합니다.

Fileset.rm_inv 파일은 스탠자 형식의 ASCII 텍스트로 구성됩니다. 스탠자 이름이 시스템에 있을 경우 이 이름은 제거될 디렉토리 또는 파일의 전체 경로 이름입니다. 연 이름은 콜론으로 끝납니다(:) 뒤에 새 줄 문자가 이어집니다. 속성이 연 이름 뒤에 오는 경우 속성의 형식은 다음과 같습니다=가치. 속성은 제거해야 할 하드 링크 및 기호 링크를 식별하는 데 사용됩니다. 각 속성에 대해서는 별도 행에서 설명합니다. 다음 리스트는 나열된 파일과 연관된 유효한 속성을 설명합니다.

표 7. 속성 및 설명
속성 설명
링크 파일에 대한 하나 이상의 하드 링크입니다. 링크의 전체 경로 이름은 쉼표로 분리됩니다.
기호 링크 파일에 대한 하나 이상의 기호 링크입니다. 링크의 전체 경로 이름은 쉼표로 분리됩니다.
참고: 링크는 독립된 연으로 한 번, 링크된 파일의 속성으로 한 번, 두 번 나열해야 합니다.

예를 들어, 다음과 같이 가정합니다U.S.S.R 19.91.0.0파일 세트에는 /usr/lib 디렉터리에 다음 파일이 포함되어 있습니다:moscow,leningrad,kiev,odessapetrograd(에 대한 상징적 링크leningrad). 제품 개발자는U.S.S.R 19.91.0.0파일세트를 두 개의 파일세트로 나눕니다:Ukraine.lib 19.94.0.0Russia.lib 19.94.0.0. Ukraine.lib파일세트에는kievodessa파일만. 다음Russia.lib파일세트에는moscow파일로 내보냅니다. 다음leningrad파일이 더 이상 존재하지 않고st.petersburg파일에 있는Russia.lib파일 집합입니다.

다음Ukraine.lib.rm_inv파일이 존재해야 하므로Ukraine.lib파일 집합은U.S.S.R파일 집합입니다. 다음Ukraine.lib.rm_inv파일이 비어 있어야 합니다Ukraine.lib파일 집합을 설치하여 마이그레이션을 정리합니다U.S.S.R파일 집합입니다.

다음Russia.lib.rm_inv파일이 존재해야 하므로Russia.lib파일 집합은U.S.S.R파일 집합입니다. If theRussia.lib.rm_inv파일을 제거하는 데 사용됩니다leningrad파일에Russia.lib파일 세트가 설치되면Russia.lib.rm_inv파일에는 다음 구절이 포함됩니다:
/usr/lib/leningrad:
 symlinks = /usr/lib/petrograd
/usr/lib/petrograd:

보충 디스크 서브시스템의 설치 파일

제공된 SCSI 또는 버스 접속 장치 드라이버와 함께 구성되지 않는 디스크 서브시스템에는 고유한 장치 드라이버 및 구성 방법이 필요합니다. 이러한 설치 파일은 보충 디스켓(장치에서 제공됨)에서 제공되며, ./signature 파일 및 ./startup 파일에서는 백업 형식이어야 합니다. 기호 파일에는 target 문자열이 포함되어 있어야 합니다. 시작 파일은 이름순 복원을 사용하여 보충 디스켓에서 필요한 파일을 발췌하고 장치를 사용 가능 상태로 가져오는 데 필요한 명령을 실행해야 합니다.

분배 미디어의 형식

다음 미디어 유형은 소프트웨어 제품 설치 패키지를 분배하는 데 사용될 수 있습니다.

다음 절에서는 이러한 미디어 각각에 복수의 제품 패키지를 분배하는 데 사용해야 하는 형식에 대해 설명합니다.

테이프

복수 제품 패키지 이미지를 단일 테이프 또는 테이프 세트에 넣으려면 세트에 있는 각 테이프의 파일이 다음과 같은 형식을 준수해야 합니다.

  • 파일 1은 비어 있습니다. (부트 가능한 테이프용으로 예약됨)
  • 파일 2는 비어 있습니다. (부트 가능한 테이프용으로 예약됨)
  • 파일 3에는 테이프 세트의 제품 패키지 이미지를 설명하는 목차 파일이 들어 있습니다. 따라서 세트의 각 테이프에는 멀티볼륨 세트에 있는 테이프 볼륨 번호의 차이를 제외하고 동일한 목차 파일의 사본이 포함되어 있습니다.
  • 파일 4부터(N+3)까지는 제품 패키지의 백업 형식 파일 이미지가 포함되어 있습니다1를 통해 N.
  • 제품 패키지 이미지 파일은 두 개의 테이프에 나누어서 분배할 수 없습니다.
  • 각 파일 끝에는 EOF(파일 끝) 테이프 표시가 옵니다.

CD-ROM

복수의 제품 패키지 이미지가 들어갈 CD-ROM은 \RRGP(Rock Ridge Group Protocol)를 준수해야 합니다. 제품 패키지는 설치 디렉토리에 저장되어야 하며 다음 항목이 포함되어야 합니다.

  • 제품 패키지의 백업 형식 파일 이미지
  • 디렉토리에 있는 제품 패키지 이미지에 대해 설명하는 .toc 이름의 목차 파일입니다.

복수 볼륨 CD-ROM은 CD-ROM 세트를 단일 설치 장치로 정의하기 위한 추가 디렉토리 구조를 가진 CD-ROM입니다.

복수 볼륨 CD-ROM은 다음 규칙을 준수해야 합니다.
  • /installp/mvCD 디렉토리는 다음과 같은 내용으로 존재해야 합니다.
    1. 모든 CD-ROM 세트의 제품 패키지 이미지를 설명하는 목차 파일(.toc)입니다. CD-ROM의 각 볼륨에는 /installp/mvCD에 모두 동일한 .toc가 있어야 합니다.
    2. 첫 행이 set1에 있는 CD의 10진수 볼륨 번호로 구성된, 이름이 volume_id인 ASCII 파일입니다.
    3. vol% n 기호 링크입니다. 여기서 n은 세트에 있는 CD의 십진수 볼륨 번호입니다. 기호 링크의 목표는 CD의 해당 특정 볼륨에 있는 제품 패키지의 디렉토리에 대한 상대 경로이어야 합니다. 기호 링크의 표준 값은 ../ppc입니다.
  • /installp/mvCD에 있는 목차 파일(.toc)은 표준 목차 형식을 준수합니다. 복수 볼륨 .toc의 특수한 특성은 각 제품 패키지 이미지의 위치가 디렉토리 항목 vol% n으로 시작된다는 것입니다. 여기서 n은 해당 특정 제품 패키지가 들어 있는 볼륨을 표시합니다.

AIX 5.2 예제:

파일세트 A는 볼륨 1의 파일 A.bff 있고 파일세트 B는 볼륨 2의 파일 B.bff 있습니다. A와 B에 대한 제품 패키지 이미지의 위치를 포함하는 /installp/mvCD 목차 파일 필드는 각각 vol%1/A.bff vol%2/B.bff. 볼륨 1의 /installp/ppc에 있는 목차 파일의 필드에는 A의 위치가 A.bff로 들어 있습니다. 볼륨 2의 /installp/ppc에 있는 목차 파일의 필드에는 B의 위치가 B.bff로 들어 있습니다.

AIX 5.1 이상의 CD-ROM 디렉토리 구조는 다른 설치 프로그램 및 다중 플랫폼의 스펙을 허용합니다.

디스켓

복수 제품 패키지 이미지를 디스켓 세트에 넣으려면 다음 파일을 해당 디스켓 세트에 기록해야 합니다.

  • 세트에 포함될 제품 패키지 이미지를 설명하는 목차 파일.
  • 세트에 포함될 각 제품 패키지 이미지 파일.

다음과 같은 규칙을 사용하여 디스켓 세트에 파일을 씁니다.

  • 볼륨 ID 섹터가 세트의 각 디스켓 블록 0에 삽입된 디스켓 세트에 스트림으로 데이터를 기록합니다. 한 볼륨에 대한 최종 블록의 데이터는 다음 볼륨의 블록 1에 있는 데이터에 논리적으로 인접한 것으로 간주됩니다(읽을 때 볼륨 ID 섹터를 검증하고 삭제함).
  • 각 파일은 512바이트 블록 경계에서 시작됩니다.
  • 먼저 목차 파일을 씁니다. 이 파일의 마지막 섹터를 널 문자로 채우려면 이 파일을 채우십시오(x'00'). 목차 파일의 끝을 표시하려면 하나 이상의 null 문자가 필요합니다. 따라서 널 문자로 가득 찬 섹터가 필요할 수 있습니다.
  • 목차 파일에 이어서 후속 섹터에 각 제품 패키지 이미지 파일을 기록합니다. 널(null) 문자를 사용하여 최종 섹터를 채워 각 파일을 채우십시오. 파일이 블록 경계에서 끝날 경우에는 널(null) 문자가 필요하지 않습니다.
  • 세트에 있는 각 디스켓의 블록 0에는 볼륨 ID 섹터가 있습니다. 이 섹터의 형식은 다음과 같습니다.
    위치 설명
    바이트 0:3 식별을 위한 파일 종류 설명자(magic number)입니다. 값이 10진수인 이진 정수입니다3609823513=x'D7298918'.
    바이트 4:15 디스켓 세트의 ID 역할을 하는 날짜 및 시간 소인(ASCII 형식)입니다. 형식은 MonthDayHourMinuteSecondYear입니다. Hour는 00 - 23 사이의 값이어야 합니다. 모든 날짜 및 시간 필드에는 두 개의 숫자가 포함되어 있습니다. 따라서 월은 다음과 같이 표시되어야 합니다03데이터 패브릭을3로 표시해야 하며, 연도는 94데이터 패브릭을1994.
    바이트 16:19 이 디스켓 세트 내에 있는 2진 정수 볼륨 번호입니다. 세트의 첫 번째 디스켓은x'00000001'.
    바이트 20:511 2진 0(제로)입니다.
표 8. 목차 파일
필드 이름 형식 구분자 설명
1. 볼륨 문자 공백 문자 테이프 및 디스켓 목차 파일의 경우 볼륨은 이 데이터를 포함하는 볼륨 번호입니다. 고정 디스크 또는 CD-ROM 목차 파일의 경우 볼륨 번호는 다음과 같습니다0.
2. 날짜 및 시간 소인 mmddhhMMssyy 공백 문자 테이프 또는 디스켓의 경우 이 필드는 볼륨 1이 작성되었을 때의 시간 소인입니다. 하드 디스크 또는 CD-ROM의 경우 이는 .toc 파일을 작성했을 때의 시간 소인입니다. 자세한 설명은 이 항목의 나중에 있는 날짜 및 시간 소인 형식을 참조하십시오.
3. 헤더 형식 문자 줄 바꾸기 목차 파일의 형식을 표시하는 번호입니다. 유효한 항목은 다음과 같습니다.
  • 1-AIX 버전 3.1
  • 2 - 버전 3.2
  • 3-AIX 버전 4.1 이상
  • B -mksysb 테이프(installp에서 사용하기에 적합하지 않음)
4. 제품 패키지 이미지의 위치 문자 공백 문자 테이프 또는 디스켓의 경우, 이는 vvv:bbbbb:sssssss 양식의 문자열입니다. 자세한 설명은 이 주제 나중에 있는 테이프 및 디스켓의 위치 형식을 참조하십시오. 하드 디스크 또는 CD-ROM의 경우 이 필드는 제품 패키지 이미지 파일의 파일 이름입니다. 이 필드는 파일 이름만을 가리키며 경로 이름의 어떤 파트도 이 이름 앞에 올 수 없습니다.
5. 패키지 특정 정보 lpp_name 파일 형식 줄 바꾸기 이 제품 패키지 이미지에 포함된 lpp_name 파일의 내용입니다. 자세한 설명은 lpp_name 패키지 정보 파일을 참조하십시오.
참고: 이전 표에 설명된 항목 4와 5는 미디어에 포함된 각 제품 패키지 이미지에 대해 반복됩니다.

날짜 및 시간 소인 형식

날짜 및 시간 소인 형식은 다음과 같은 형식의 ASCII 문자열입니다.

MonthDayHourMinuteSecondYear

Hour는 00 - 23 사이의 값이어야 합니다. 모든 날짜 및 시간 필드에는 두 개의 숫자가 포함되어 있습니다. 따라서 월은 다음과 같이 표시되어야 합니다03데이터 패브릭을3로 표시해야 하며, 연도는 94데이터 패브릭을1994.

테이프 및 디스켓의 위치 형식

위치의 형식은 vvv:bbbbb:sssssss입니다. 여기서 각 문자는 숫자를 나타내고 다음 의미를 갖습니다.

테이프의 경우

버전
테이프의 볼륨 번호입니다.
bbbbb
제품 패키지 이미지의 테이프에 있는 파일 번호입니다.
SSSSSSSS
바이트 단위의 파일 크기입니다.

디스켓의 경우

버전
디스켓의 볼륨 번호입니다.
bbbbb
제품 패키지 이미지 파일이 시작되는 디스켓의 블록 번호입니다.
SSSSSSSS
바이트 단위의 파일 크기입니다(블록 경계 끝에 대한 채우기 포함).

AIX 재배치 가능 설치

이제 기본 AIX 설치 유틸리티(예: installp, instfix, lslpplppchk)에서 AIX 재배치 설치가 지원되지만, 재배치 사용은 워크로드 파티션 내에 설치해야 하는 애플리케이션에 특히 유용합니다. 디폴트 시스템 WPAR 구성에는 쓰기 가능한 /usr 또는 /opt 파일 시스템이 포함되지 않기 때문입니다. 그러므로 애플리케이션 설치는 기존의 /usr 또는 /opt 위치가 아닌 다른 위치를 대상으로 다시 설정해야 할 수도 있습니다.

관리자는 디폴트 설치 위치(즉, "/”)에 파일 세트를 설치할 수 있을 뿐만 아니라 대체 루트 설치 위치에도 재배치 가능 패키지를 설치할 수 있습니다. 이 기능을 통해 관리자는 다음을 수행할 수 있습니다.
  • AIX 운영 체제의 단일 인스턴스에서 동일한 installp 패키지의 다중 설치를 설치하고 유지보수합니다.
  • AIX 운영 체제의 단일 인스턴스에서 동일한 installp 패키지의 여러 버전을 설치하고 유지보수합니다.
  • 기본 installp 추적 도구(예: lppchk, lslpp, instfixinulag)를 사용하여 재배치된 모든 설치 인스턴스에서 설치 데이터를 검증하고 보고합니다.
  • 지정된 시스템에서 사전 설치된 소프트웨어 위치를 접속하고 접속 해제합니다.

용어

루트 설치 경로
애플리케이션이 설치된 기본 디렉토리입니다. Installp 기본 설치 경로는"/"입니다.
디폴트 설치 경로
디폴트 루트 설치 경로(즉, "/")입니다.
재배치된 설치 경로
디폴트 설치 경로가 아닌 임의의 루트 설치 경로입니다. 경로 위치는 "/"가 아니고 크기가 512자 이하인 유효한 경로가 될 수 있습니다.
재배치 가능 애플리케이션
디폴트가 아닌 루트 설치 경로에 설치할 수 있는 애플리케이션입니다.
USIL(User Specified Install Location)
사용자가 설정한 재배치된 설치 경로 인스턴스입니다.

USIL

사용자 지정 설치 위치 또는 USIL은 관리자가 작성한 추적된 재배치 설치 경로입니다. 이 위치는 시스템에서 추적하며 재배치를 지원하는 패키지의 대체 설치 경로로서 사용할 수 있습니다. 각 설치를 별도의 USIL로 위임하면 같은 소프트웨어 패키지의 다중 인스턴스 및/또는 버전을 단일 시스템에 설치할 수 있습니다. 기존의 USIL 인스턴스는 지정된 시스템에서 접속 또는 접속 해제될 수 있습니다.

각 USIL 인스턴스는 현재 모두 3개의 installp 파트에서 소프트웨어 필수 제품 데이터(SWVPD)의 자체 세트를 유지합니다.
  • <InstallRoot>/etc/objrepos
  • <InstallRoot>/usr/lib/objrepos
  • <InstallRoot>/usr/share/lib/objrepos
주:
  1. 현재 SWVPD 오브젝트 클래스에는 다음이 포함됩니다.
    • 제품
    • lpp
    • 인벤토리
    • 실행기록
    • 수정사항
    • 벤더
    • 래그
  2. 각 USIL 인스턴스는 재배치된 경로 내에서 디폴트 SWVPD 구조를 미러링합니다.

USIL 관리 명령

/usr/sbin/mkusil

새 USIL 인스턴스를 작성하거나 첨부합니다.

mkusil -R RelocatePath -c Comments[XFa]

-a
기존 설치를 USIL 인스턴스로서 첨부합니다.
-c
USIL 정의에 포함시키는 주석입니다(lsusil 명령을 표시 가능).
-R
새 USIL 위치에 대한 경로입니다. 유효한 디렉토리여야 합니다.
-X
필요한 공간을 자동으로 확장합니다.

/usr/sbin/lsusil

기존 USIL 인스턴스를 나열합니다.

lsusil[-R RelocatePath | "ALL"]

-R
기존 USIL 위치에 대한 경로입니다.

/usr/sbin/rmusil

기존 USIL 인스턴스를 제거합니다.

rmusil -R RelocatePath

-R
기존 USIL 위치에 대한 경로입니다.
참고: rmusil 명령은 SWVPD에서 USIL 참조만 제거합니다. USIL 설치 경로에서는 파일이 제거되지 않습니다.

/usr/sbin/chusil

기존 USIL 인스턴스의 속성을 변경합니다.

chusil -R RelocatePath -c NewComments[X]

-c
USIL 정의에 포함시킬 새 댓글입니다(lsusil 명령으로 표시 가능).
-R
기존 USIL 위치에 대한 경로입니다.
-X
공간이 필요한 경우 자동으로 확장합니다.

재배치 가능 설치 유틸리티

코드 격리를 유지하기 위해, 모든 USIL 변경사항은 별도로 컴파일된 모듈로 격리됩니다. 재배치된 설치 유틸리티에는 다음 사용자 레벨 모듈이 포함됩니다.
  • /usr/sbin/mkusil
  • /usr/sbin/rmusil
  • /usr/sbin/lsusil
  • /usr/sbin/chusil
참고:
  1. 각 유틸리티에서는 -R RelocatePath 플래그를 사용합니다.
  2. 재배치 가능 installp 패키지에 대해 작업하는 경우 위 유틸리티를 반드시 사용해야 합니다.

재배치 가능 애플리케이션 패키징을 위한 요구사항

애플리케이션 패키징에서는 재배치 가능 설치를 지원해야 합니다. 다음은 권장하는 지침입니다.
  • 재배치 가능 애플리케이션 패키지는 루트 설치 위치 외부에서 (쓰기) 인벤토리 오브젝트를 제공할 수 없습니다.
  • 재배치 가능 애플리케이션 패키지는 루트 설치 위치 외부에서 패키징 조정을 사용하여 (쓰기) 데이터를 제공할 수 없습니다.
  • 재배치 가능 애플리케이션 패키지에는 각각의 재배치 가능 파일 세트에 대해 RELOCATABLE 확장 패키징 속성이 포함되어야 합니다. 파일 세트는 재배치할 수 있는 가장 작은 설치 가능 단위입니다.
  • 재배치 가능 애플리케이션 패키지에는 외부 재배치된 경로에 있는 필수사항이 없을 수 있습니다. 파일 세트가 디폴트 설치 경로 또는 자체 설치 경로에 설치되는 필수사항이 있을 수 있습니다.

재배치 가능 애플리케이션 실행을 위한 요구사항

애플리케이션 디자인에서는 설치 환경에서의 실행이 지원되어야 합니다. 다음은 권장하는 지침입니다.
  • 애플리케이션에는 설치 위치에 종속되지 않는 루트 설치 위치 또는 함수를 판별하는 방법이 있어야 합니다.
  • 애플리케이션은 루트 설치 위치에 대한 상대 경로로 모든 애플리케이션 고유의 실행 파일 구성요소를 참조해야 합니다.
  • 애플리케이션은 루트 설치 위치에 대한 상대 경로로 모든 애플리케이션 고유의 데이터 구성요소를 참조하거나, 다른 애플리케이션 인스턴스와 데이터를 공유하도록 디자인되어야 합니다.
  • 애플리케이션은 루트 설치 위치 외부에서 영구적인 변경사항을 작성해서는 안됩니다.

USIL 커넥터 ODM 클래스 오브젝트

USIL 커넥터 ODM 클래스 오브젝트는 /etc/objrepos/usilc 파일에 상주하며 모든 USIL 인스턴스와 디폴트 SWVPD를 링크하는 데이터를 포함합니다.

다음은 swvpd.cre에 포함될 이 오브젝트 클래스의 항목입니다.
/*  User Install Location Connector                                    */
/*  Connects the default install path to all relocated install paths.  */
class   usilc {
        vchar   path[1024];             /* USIL path */
        vchar   comments[2048];   /* USIL Comments */
        long    flags;                       /* USIL flags */
        };     

-R "ALL" 또는 -R "all" 옵션과 함께 모든 설치 경로 나열

lslpplppchk 명령은 -R "ALL" 구문이 사용되는 경우 모든 설치 위치에서 나열 조작을 수행할 수 있습니다.

접속/접속 해제 조작

접속 조작에서는 사용자가 기존의 접속 해제된 USIL 경로를 SWVPD와 통합할 수 있습니다.

예를 들어 관리자가 관리자가 애플리케이션 호스트 용도로 설치된 여러 재배치 가능 애플리케이션과 함께 하나의 마스터 USIL 인스턴스를 작성하는 경우입니다. 그런 다음 관리자는 이 USIL 인스턴스를 여러 시스템에 복사 또는 NFS 마운트하고 첨부 기능을 사용하여 USIL 인스턴스를 SWVPD에 통합합니다. 접속 해제 조작은 USIL 인스턴스에 대한 참조를 제거합니다.

installp 라이센싱

새 USIL 인스턴스는 빈 LAG(installp 라이센스 계약 ODM 오브젝트 클래스)로 시작됩니다. 라이센스가 필요한 파일 세트 또는 LPP를 설치하려면 정상적인 installp 규약에 따라 라이센스 동의가 필요합니다. 라이센스 동의는 여러 USIL 인스턴스에 걸쳐 해당되지 않습니다.

|신뢰있는 전산구조(TCB)

TCB 가능 시스템에서는 USIL 인스턴스 설치가 현재 지원되지 않습니다.

재배치 가능 필수사항

새 패키징 시맨틱은 재배치 가능 필수사항 위치를 표시합니다. 패키저는 디폴트 설치 경로 또는 재배치된 설치 경로에서 지정된 필수사항을 발견하도록 지정할 수 있습니다.

다음의 새 필수사항 시맨틱이 적용됩니다.
  • prereq_ r = 재배치된 설치 경로에서의 prereq
  • ifreq_r = 재배치된 설치 경로에서의 ifreq
  • coreq_r = 재배치된 설치 경로에서의 coreq
  • instreq_r = 재배치된 설치 경로에서의 instreq

현재 정의된 필수사항 유형(prereq, ifreq, coreqinstreq)은 모두 디폴트 필수사항(디폴트 설치 위치에 적용되는 필수사항)입니다.

재배치 가능 패키지에 대한 TOC 변경사항

다음은 TOC 파일에서 새 필수사항 절의 샘플입니다.
sscp.rte.1.0.0.5.U.PRIVATE.bff 4 R S sscp {
sscp.rte 01.00.0000.0005 1 N B En_US Sscp
[
*coreq bos.games 1.1.1.1  <-- default requisite in default requisite section
*prereq bos.rte 1.1.1.1   <-- default requisite in default requisite section
%
/usr/bin 20
/etc 20
INSTWORK 72 40
%
%
%
IY99999  1 APAR text here.
%
RELOCATABLE <-- attribute tag to denote relocatable package
%
*prereq bos.rte 1.1.1.1 <-- default requisite in relocated requisite section
*coreq_r bos.games 1.1.1.1 <-- relocated requisite in relocated requisite section
]
}
주:
  1. 재배치 가능 필수사항 절이 재배치 설치 도중 있는 경우 이는 설치를 위한 필수사항 절로 사용됩니다.
  2. 재배치 가능 필수사항 절이 재배치 설치 도중 없으면 디폴트 필수사항 절이 사용됩니다. 이는 모든 필수사항이 디폴트 필수사항이 됨을 의미합니다.
  3. 디폴트 설치(재배치 불능)에서는 재배치 가능 필수사항 절을 사용하지 않습니다.
표 9. 제품 패키지의 installp 처리
명령 설명
apply 제품 설치 패키지의 파일 세트가 적용되면 시스템에 설치되어 해당 파일 세트의 기존 버전을 겹쳐쓰므로, 시스템에 있는 파일 세트의 해당 버전을 확정합니다. 파일 세트가 더 이상 필요하지 않다고 사용자가 결정하면 파일 세트를 제거할 수 있습니다.

파일 세트 갱신이 적용되면 갱신이 설치되고 나중에 갱신을 제거할 수 있도록 정보가 저장됩니다(달리 요청되지 않을 경우). 적용된 파일 세트 갱신사항을 나중에 확정하거나 거부할 수 있습니다.

확약 파일 세트 갱신이 확정되면 적용 중 저장된 정보가 시스템에서 제거됩니다. 이미 적용된 소프트웨어를 확정해도 현재 활성 중인 파일 세트 버전을 변경하지 않습니다.
거부 갱신이 거부되면 적용 도중 저장된 정보를 사용하여 파일 세트의 활성 버전을 거부된 갱신에 대한 이전 버전으로 변경합니다. 그런 다음 저장된 정보가 시스템에서 제거됩니다. 거부 조작은 갱신의 경우에만 유효합니다. 파일 세트 또는 파일 세트 갱신에서 설치를 완료하는 데 실패하면 거부 조작에 있는 동일한 단계의 대부분이 정리 조작에서 수행됩니다.
제거 파일 세트가 제거되면 파일 세트 및 해당 갱신사항이 해당 상태(적용됨, 확정됨 또는 파손)와 상관없이 시스템에서 제거됩니다. 제거 조작은 파일 세트의 설치 레벨에서만 유효합니다.

제품 패키지에서 제공된 실행 파일은 적용, 거부 및 제거 조작에 대한 처리를 조정할 수 있습니다.

파일 세트를 다시 설치하면 동일한 파일 세트의 제거 및 설치를 수행하는 것과 동일한 조치가 수행되지 않습니다. 재설치 조치( /usr/lib/instl/rminstal 참조)는 이전 또는 같은 버전에서 현재 파일을 정리하지만 unconfig 또는 unpre* 스크립트를 실행하지 않습니다. 그러므로 unconfig 스크립트가 실행된 것으로 간주하지 마십시오. .config 스크립트는 unconfig가 완료된 것으로 간주하기 전에 환경을 검사해야 합니다.

예를 들어 ras.berry.rte 파일 세트의 경우 구성 스크립트는 루트의 crontab 파일에 행을 추가합니다. ras.berry.rte 파일 세트를 다시 설치하면 두 개의 crontab 항목이 발생합니다. unconfig 스크립트는 재설치 시 실행되지 않습니다(crontab 항목을 제거함). 구성 스크립트는 항상 항목을 제거한 후 이를 다시 추가해야 합니다.

적용 조작에 대한 처리

이 절에서는 파일 세트 또는 파일 세트 갱신을 적용할 때 installp 명령에서 수행하는 단계에 대해 설명합니다.

  1. 지정된 장치에서 패키지에 대한 lpp_name 제품 패키지 정보 파일을 복원하십시오.
  2. 요청된 파일 세트가 설치 미디어에 존재하는지를 검증하십시오.
  3. 요청된 파일 세트의 레벨을 검사하여 시스템에 설치할 수 있는지 여부를 확인하십시오.
  4. ' liblpp.a 아카이브 라이브러리 파일에서 ' 패키지 디렉토리 (' usr ' 또는 ' usr/root ' 패키지의 경우/usr/lpp/' '패키지_이름 ')로 제어 파일을 복원합니다. usr/root 패키지의 root 부분 고유의 제어 파일은 /usr/lpp/Package_Name/inst_root/liblpp.a에 있습니다.
  5. 디스크 공간 요구량을 검사하십시오.
  6. 필요한 필수사항(다른 파일 세트를 사용 또는 설치하기 위해서는 파일 세트가 특정 레벨에 있어야 함)이 이미 설치되었는지 또는 설치할 리스트에 있는지를 검사하십시오.
  7. 설치를 진행하기 위해 만족시켜야 하는 라이센스 계약 요구사항이 있는지를 판별하십시오.
  8. 이 패키지가 파일 세트 갱신 패키지가 아닌 설치 패키지일 경우 소프트웨어 필수 제품 데이터(SWVPD)를 검색하여 파일 세트(설치 중인 파일 세트) 또는 Fileset.namelist 파일에 나열된 다른 파일 세트가 이미 임의 레벨의 시스템에 설치되어 있는지 확인하십시오. 파일 세트가 이미 설치되어 있으면, 파일 세트 이름과 설치된 레벨을 Work_Directory/Fileset.installed_list 파일에 기록하십시오.

    설치된 파일 세트 레벨이 없고 Fileset.namelist 파일에 나열된 파일 세트가 설치되었으면, Work_Directory/Fileset.installed_list 파일에서 해당 파일 세트 및 레벨 모두를 나열하십시오. 작업_디렉토리 '은/lpp/ '패키지_이름'를 사용하는 ' root ' 부분을 제외하고는 패키지 디렉토리와 동일합니다.

  9. 이 패키지가 파일 세트 갱신 패키지가 아닌 설치 패키지일 경우 /usr/lib/instl/rminstal 스크립트를 실행하여 설치 중인 파일 세트마다 다음을 수행하십시오.
    참고: 달리 명시하지 않는 한, 존재 확인된 파일은 liblpp.a 제어 파일 라이브러리에서 복원된 파일이어야 합니다.
    1. Fileset.pre_rm이 있는 경우, 이 버전 또는 기존 버전의 파일 집합에서 파일을 제거하기 전에 Fileset.pre_rm을 실행하여 필요한 단계를 수행합니다.
    2. Work_Directory/Fileset.installed_list가 있는 경우, Fileset.cfgfiles에 나열된 기존 파일을 구성 파일 저장 디렉토리(MIGSAVE 환경 변수에 표시됨)로 이동하십시오.
    3. Fileset의 버전이 이미 설치되어 있으면 파일 및 Fileset에 대한 SWVPD 정보(내역 제외)를 제거하십시오.
    4. ' 작업_디렉토리/ '파일 세트' '.installed_list '이 존재하고 ' 파일 세트 '.rm_inv '가 존재하거나 ' 파일 세트. '네임리스트 둘 이상의 파일셋이 포함되어 있거나 ' 파일 세트 '.namelist '에 나열된 유일한 파일셋이 있는 경우bos.obj를 클릭한 다음 다음을 수행합니다:
      1. 파일 및 Fileset.rm_inv 파일에 나열된 파일에 대한 SWVPD 인벤토리 정보를 제거하십시오.
      2. 파일 및 Fileset.inventory 파일에 나열된 파일에 대한 SWVPD 인벤토리 정보를 제거하십시오.
      3. 더 이상 SWVPD 인벤토리 정보가 없는 Fileset.namelist에 나열된 파일 세트에 대해서는 다른 SWVPD 인벤토리를 제거하십시오.
    5. Work_Directory/Fileset.installed_list가 존재하고 여기에 하나의 파일 세트만 포함되어 있으며 Fileset.namelist가 하나의 파일 세트만 포함하는 경우 파일 및 해당 파일 세트에 대한 SWVPD 정보(내역 제외)를 제거하십시오.
    6. 제품 패키지의 각 파트의 경우(usr 파트만 또는 usr 다음에 root가 오는 경우)
      1. INUTREE(' usr '는U ', ' root'는 ' M ')와 INUTEMPDIR(생성된 임시 작업 디렉토리 환경 변수의 이름)을 설정합니다.
      2. install 제어 프로그램이 패키지 디렉토리(권장하지 않음)에 있으면 ./instal을 실행하십시오. 그렇지 않으면 디폴트 스크립트 /usr/lib/instl/instal을 실행하십시오. instal 제어 프로그램이 패키지 디렉토리에 존재하지 않으면 INUSAVEDIR 환경 변수를 설정하십시오.
      3. update 제어 프로그램이 패키지 디렉토리(권장되지 않음)에 존재하면 ./update를 실행하십시오. update 제어 프로그램이 패키지 디렉토리에 존재하지 않으면 /usr/lib/instl/update 디폴트 스크립트를 실행하십시오.
      4. status 파일이 instal 또는 update 명령을 통해 정상적으로 작성되었으면 status 파일을 사용하여 각 파일 세트에 대한 성공 또는 실패를 판별하십시오. status 파일이 작성되지 않았으면 패키지의 요청된 모든 파일 세트가 적용에 실패한 것으로 가정하십시오.
      5. 파일 세트에 대한 적용 조작이 성공적이면 소프트웨어 필수 제품 데이터(SWVPD)를 갱신한 후 연관된 모든 사용권 계약 요구사항을 등록하십시오. 파일 세트에 대한 적용 조작이 실패한 경우 패키지 디렉토리의 /usr/lib/instl/cleanup 또는 패키지 제공 lpp.cleanup을 실행하여 실패한 파일 세트를 정리하십시오.

디폴트 설치 또는 갱신 스크리트의 처리

instal 또는 update 실행 파일은 설치 또는 갱신에 사용 중인 장치에서 첫 번째 매개변수와 함께 installp에서 호출됩니다. 두 번째 매개변수는 설치 또는 갱신할 파일 세트 리스트를 포함하는 파일의 전체 이름이며, 아래에서는 $FILESETLIST입니다. 디폴트 instalupdate 스크립트는 함께 링크되어 있습니다. 처리는 instal로 호출되는지 또는 update로서 호출되는지 여부에 따라 달라집니다. 현재 디렉토리는 패키지 디렉토리입니다. 임시 디렉토리 INUTEMPDIR이 /tmp에 작성되어 작업 파일을 보관합니다.

디폴트 instalupdate 스크리트 내에서의 플로우는 다음과 같습니다.

  1. $FILESETLIST에 나열된 파일 세트마다 다음을 수행합니다.
    1. 파일 세트가 갱신이면, Fileset.pre_u(pre_update)(있는 경우)를 실행하십시오. 파일 세트가 갱신이 아닐 경우 Fileset.pre_i(pre_installation)(있는 경우)를 실행하십시오.
    2. 새 파일 INUTEMPDIR/master.al Fileset.al을 추가하여 패키지에서 복원할 파일의 마스터 목록을 작성합니다.
    3. 파일 세트가 갱신일 경우 파일이 저장되도록 지정되며 lpp.acf 아카이브 제어 파일이 존재합니다.

      갱신 중인 라이브러리 아카이브 멤버는 저장에서 제외됩니다.

    4. 처리가 성공적이면 이 파일 세트를 $FILESETLIST.new 파일에 설치될 리스트에 첨가합니다.
  2. 파일 세트가 갱신이고 파일 저장이 지정되면 inusave를 실행하여 파일의 현재 버전을 저장합니다.
  3. 루트 파트를 처리 중인 경우 inucp를 실행하여 적용 리스트에서 루트 파트로 파일을 복사하십시오. 루트 부분을 처리하지 않는 경우, inurest를 실행하여 ' usr ' 부분에 대한 적용 목록에서 파일을 복원합니다.
  4. $FILESETLIST.new 파일에 나열된 각 파일 세트에 대해 다음을 수행하십시오.
    참고: 모든 단계의 실패는 상태 파일에 기록되며 해당 파일 집합에 대한 처리가 종료됩니다
    1. 이 파일 세트가 동일하거나 이전인 레벨로 설치되어 있는지 또는 Fileset.namelist에 나열된 파일 세트가 설치되어 있는지를 판별합니다. 설치되어 있으면 INSTALLED_LISTMIGSAVE 환경 변수를 반출하십시오. 이를 마이그레이션이라고 합니다.
    2. 갱신을 처리 중인 경우 Fileset.post_u(있는 경우)를 호출하십시오. Fileset.post_u가 없으면 Fileset.post_i(있는 경우)를 호출하십시오.
    3. Fileset.cfgfiles가 존재하면 /usr/lib/instl/migrate_cfg를 실행하여 지정된 처리 방법에 따라 구성 파일의 처리를 수행합니다.
    4. sysck를 호출하여 Fileset.inventory 파일의 정보를 소프트웨어 필수 제품 데이터베이스(SWVPD)에 추가합니다.
    5. Fileset.tcb 파일이 존재하고 /usr/lib/objrepos/PdAt ODM 데이터베이스에 신뢰할 수 있는 컴퓨팅 기반 tcb_enabled 속성이 설정된 경우 tcbck 명령을 호출하여 시스템에 신뢰할 수 있는 컴퓨팅 기반 정보를 추가합니다.
    6. Fileset.err이 있는 경우 오류 템플릿을 추가하려면 errupdate를 호출합니다.
    7. Fileset.trc가 있는 경우 trcupdate를 호출하여 추적 보고서 형식 템플릿을 추가합니다.
    8. 갱신인 경우 또는 Work_Directory/Fileset.installed_list가 있는 경우, 각각의 Fileset.odmdelFileset.*.odmdel 스크립트를 호출하여 ODM 데이터베이스 삭제 명령을 처리하십시오.
    9. 기존의 각 Fileset.odmaddFileset.*.odmadd에서 odmadd를 호출하여 ODM 데이터베이스에 정보를 추가합니다.
    10. 이것이 갱신이면 Fileset.config_u(파일 세트 구성 갱신)가 있는 경우 이를 호출하십시오. 그렇지 않으면 Fileset.config(파일 세트 구성)가 있는 경우 이를 호출하십시오.
    11. 파일 세트의 성공적인 처리를 표시하는 status 파일을 갱신합니다.
  5. 향후 사용을 위해 파일 세트 제거에 필요한 제어 파일을 패키지의 deinstl 디렉토리에 링크합니다. 이러한 파일에는 패키지 디렉토리에 있을 수 있는 다음과 같은 파일이 포함됩니다.
    • lpp.deinstal
    • 파일 세트. al
    • 파일 세트. 인벤토리
    • 파일 세트. pre_d
    • 파일 세트. unpre_i
    • 파일 세트. unpre_u
    • 파일 세트. unpost_i
    • 파일 세트. unpost_u
    • 파일 세트. unodmadd
    • 파일 세트. unconfig
    • 파일 세트. unconfig_u
    • 저장된 디렉터리/파일세트. *.rodmadd
    • SAVEDIR/Fileset. *.unodmadd

거부 및 정리 조작에 대한 처리

이 절에서는 파일 세트 갱신이 거부되는 경우 또는 파일 세트 또는 파일 세트 갱신이 설치에 실패하는 경우 installp 명령에서 수행하는 단계에 대해 설명합니다. /usr/lib/instl에 있는 디폴트 cleanupreject 스크립트는 서로 링크되어 있습니다. 이들의 로직은 스크립트가 reject로 호출되는지 또는 cleanup으로 호출되는지에 따라 약간 다릅니다. usr/root 파일 세트 또는 파일 세트 갱신의 경우 root 파트는 usr 파트 이전에 처리됩니다.

  1. 거부되면 필수사항을 검사하여 모든 종속 제품 갱신사항도 함께 거부되는지 확인하십시오.
  2. 패키지의 각 파트(예: usrroot)에 대해 다음을 수행하십시오.
    1. INUTREE를 설정합니다(U는 usr, M은 root를 의미합니다.) 및 INUTEMPDIR 환경 변수를 설정하십시오.
    2. reject 제어 파일이 현재 디렉토리(INULIBDIR)에 있는 경우 ./lpp.reject를 호출하십시오. 그렇지 않으면 디폴트 스크립트 /usr/lib/instl/reject를 호출하십시오.
  3. 소프트웨어 필수 제품 데이터(SWVPD)를 갱신하십시오.

installp로부터 reject 실행 파일이 호출되며, 이 때 첫 번째 매개변수는 정의되지 않고 두 번째 매개변수는 갱신에 대해 거부될 파일 세트 리스트(아래에서는 $FILESETLIST라고 함)가 들어 있는 파일의 전체 경로 이름이 됩니다.

다음 파일은 디폴트 cleanupreject 스크립트에서 참조합니다.

디폴트 cleanupreject 스크리트 내에서의 플로우는 다음과 같습니다.

  1. $FILESETLIST에 나열된 파일 세트마다 다음을 수행하십시오.
    1. cleanup으로 호출되는 경우, Package_Name.s 상태 파일에 있는 행을 읽고 설치에 실패한 단계를 판별하고 해당 단계에 대한 실행 취소 조치로 건너뛰십시오. cleanup 조작은 설치가 실패한 단계에서만 시작됩니다. 예를 들어 Fileset.post_i 스크립트에서 파일 집합 설치가 실패한 경우, 설치의 후속 단계에서 실행 취소할 작업이 없으므로 해당 파일 집합의 정리 작업은 i에서 시작됩니다.
    2. 설치 중 수행된 모든 구성 처리를 실행 취소하십시오.

      갱신을 거부하는 경우 Fileset.unconfig_u가 있으면 이를 호출하십시오. 그렇지 않은 경우 Fileset.unconfig가 있으면 이를 호출하십시오.

    3. Fileset.*.unodmadd 및/또는 Fileset.unodmadd 파일을 실행하여 설치 중 추가된 ODM(Object Data Manager) 항목을 제거하십시오.
    4. Fileset.*.rodmadd 및/또는 Fileset.rodmadd 파일이 있으면 이를 실행하여 설치 중 삭제된 ODM 항목을 대체하십시오.
    5. ' 파일 세트 '.undo.trc '이 있는 경우trcupdate '을 호출하여 설치 중에 변경된 추적 형식 템플릿 변경 사항을 실행 취소합니다.
    6. Fileset.undo.err 존재하는 경우 errupdate를 호출하여 설치 중에 변경된 오류 형식 템플릿 변경 사항을 취소합니다.
    7. Fileset.tcb 파일이 존재하고 /usr/lib/objrepos/PdAt ODM 데이터베이스에 신뢰할 수 있는 컴퓨팅 기반 속성 tcb_enabled가 설정된 경우 tcbck를 호출하여 신뢰할 수 있는 컴퓨팅 기반 정보를 시스템에서 삭제합니다.
    8. Fileset.inventory가 있는 경우 sysck를 호출하여 소프트웨어 정보 데이터베이스의 변경 내용을 취소합니다.
    9. 설치 중 수행된 모든 post_installation 처리의 실행을 취소합니다.

      이것이 갱신일 경우 Fileset .unpost_u가 존재하면 이를 호출합니다. 그렇지 않은 경우 Fileset.unpost_i가 존재하면 이를 호출합니다.

    10. Fileset.al 파일에서 마스터 적용 목록( master.al 함)을 작성합니다.
    11. Fileset$FILESETLIST.new에 추가하십시오.
  2. $INUTEMPDIR/master.al이 있는 경우 다음을 수행하십시오.
    1. 디렉터리를 /(루트)로 변경합니다.
    2. master.al에 있는 모든 파일을 제거하십시오.
  3. $FILESETLIST.new를 읽는 동안 다음을 수행하십시오.
    1. inurecv를 호출하여 저장된 모든 파일을 복구하십시오.
    2. 이것이 갱신인 경우 Fileset.unpre_u가 있으면 호출하십시오. 그렇지 않은 경우 Fileset.unpre_i가 존재하면 이를 호출하십시오.
    3. 설치/갱신 제어 파일을 삭제하십시오.
  4. Package_Name.s 상태 파일을 제거하십시오.

제거 조작에 대한 처리

이 절에서는 파일 세트가 제거되는 경우 installp 명령에서 수행하는 단계에 대해 설명합니다. usr/root 파일 세트 또는 파일 세트 갱신의 경우 root 파트는 usr 파트 이전에 처리됩니다.

  1. 필수사항을 검사하여 모든 종속 파일 세트도 함께 제거되는지 확인하십시오.
  2. 제품 패키지 각 파트의 경우(예: usrroot):
    1. INUTREE(usr의 경우 U, root의 경우 M, share의 경우 S) 및 INUTEMPDIR(/tmp에서 생성된 installp 작업 디렉토리) 환경 변수를 설정하십시오.
    2. 디렉토리를 INULIBDIR로 변경하십시오.
    3. deinstal 제어 파일이 현재 디렉토리에 있으면 ./lpp.deinstal 스크립트를 실행하십시오. deinstal 제어 파일이 현재 디렉토리에 없으면 /usr/lib/instl/deinstal 디폴트 스크립트를 실행하십시오.
  3. 파일 시스템에서 파일 세트에 속한 파일을 제거하십시오.
  4. 내역 데이터를 제외하고 SWVPD에서 파일 세트 항목을 제거하십시오.
  5. 파일 세트에 대한 라이센스 계약 요구사항 등록을 비활성화하십시오.

installp에서 deinstal 실행 파일이 호출되며, 이 때 첫 번째 매개변수는 제거될 파일 세트 리스트가 들어 있는 파일의 전체 경로 이름이 되며, 아래에서는 $FILESETLIST라고 합니다.

디폴트 deinstal 스크립트 내의 플로우는 다음과 같습니다.

  1. 입력 파일 $FILESETLIST에 나열된 파일 세트마다 다음을 수행합니다.
  2. Fileset.unconfig_d가 있는 경우, 다음을 수행하십시오.

    Fileset.unconfig_d를 실행하여 모든 구성 변경사항, ODM(Object Data Manager) 변경사항 및 오류와 추적 형식 변경사항을 제거하고, 갱신 및 기본 레벨 설치 모두에 대한 설치 전 및 설치 후 스크립트에서 수행한 모든 조작을 실행 취소하십시오. 이 파일은 사용하지 않는 것이 좋습니다.

  3. Fileset.unconfig_d가 없는 경우 다음을 수행하십시오.
    1. 해당 파일 세트에 대한 각 갱신에서 다음을 수행하십시오.
      • 모든 Fileset.unconfig_u 스크립트를 실행하여 모든 갱신 구성 처리의 실행을 취소합니다.
      • 모든 Fileset.*.unodmaddFileset.unodmadd를 실행하여 갱신 시 추가된 오브젝트 데이터 관리자(ODM) 항목을 삭제합니다.
      • 모든 Fileset.*.rodmaddFileset.rodmadd를 실행하여 갱신 시 삭제된 오브젝트 데이터 관리자(ODM) 항목을 추가합니다.
      • 오류 로그 템플릿 변경 사항을 실행 취소하려면 Fileset.undo.err 있는 경우 errupdate를 실행하세요.
      • Fileset.undo.trc 있는 경우 trcupdate를 실행하여 추적 보고서 템플릿 변경 사항을 실행 취소합니다.
      • 모든 Fileset.unpost_u를 실행하여 설치 후 조정의 실행을 취소합니다.
    2. 파일 세트 기준 설치 레벨에 대해 다음을 수행합니다.
      • 모든 Fileset.*.unodmadd 또는 Fileset.unodmadd를 실행하여 설치 시 추가된 오브젝트 데이터 관리자(ODM) 항목을 삭제합니다.
      • 모든 Fileset.*.rodmadd 및/또는 Fileset.rodmadd를 실행하여 설치 시 삭제된 오브젝트 데이터 관리자(ODM) 항목을 추가합니다.
      • 오류 로그 템플릿 변경 사항을 실행 취소하려면 Fileset.undo.err 있는 경우 errupdate를 실행하세요.
      • Fileset.undo.trc 있는 경우 trcupdate를 실행하여 추적 보고서 템플릿 변경 사항을 실행 취소합니다.
      • Fileset.unconfig_i를 실행하여 설치 구성 처리의 실행을 취소합니다.
      • Fileset.unpost_i를 실행하여 모든 파일 설치 후 조정의 실행을 취소합니다.
  4. 파일 세트에 설치된 파일 및 소프트웨어 데이터 정보를 제거합니다.
  5. Fileset.unconfig_d가 없는 경우 다음을 수행하십시오.
    1. 해당 파일 세트에 대한 각 갱신에서 Fileset.unpre_u를 실행하여 파일 설치 전 조정을 실행 취소하십시오.
    2. 파일 세트 기본 설치 레벨에 대해 Fileset.unpre_i를 실행하여 모든 파일 설치 전 조정의 실행을 취소합니다.
  6. 파일 세트와 연관된 비어 있는 모든 디렉토리를 삭제합니다.
    참고: 제거 실행 파일을 실행하는 동안 일부 호출에서 오류가 반환되면 오류는 기록되지만 실행은 계속됩니다. 이 현상은 오류가 발생하면 해당 파일 세트의 실행이 대개 취소되므로 다른 스크립트와는 다릅니다. 그러나 일단 파일 세트의 제거가 시작되면 복구할 수 없으므로, 제거는 오류가 발생한 경우 최고 효율이 됩니다.

설치 상태 파일

$INUTEMPDIR/status
설치되거나 갱신될 각 파일 세트에 대한 1행 항목이 포함되어 있는 파일입니다.

installp 명령에서는 이 status 파일을 사용하여 적절한 처리를 판별합니다. 설치 스크립트를 작성할 경우 스크립트는 올바른 형식의 status 파일을 생성해야 합니다. status 파일에 있는 각 행의 형식은 다음과 같습니다.

표 10. StatusCode 파일 세트
상태 코드 의미
s 성공, SWVPD 갱신
F 실패, 정리 프로시저 수행
b 생략, 실패함, 정리가 필요 없음
i 필수사항 실패, 정리가 필요없음
v sysck 검증이 실패함

status 파일의 다음 예제는 bos.net 패키지의 tcp.clienttcp.server 파일 세트에 대한 설치가 성공했고 nfs.client 파일 세트에 대한 설치는 실패했음을 installp 명령에 표시합니다.

s bos.net.tcp.client
s bos.net.tcp.server
f bos.net.nfs.client
설치 및 갱신 처리 중 사용되는 설치 명령
inucp
루트 파트를 설치하는 경우 /usr/lpp/Package_Name/inst_root 디렉토리에서 /(루트) 파일 트리로 파일을 복사합니다.
inulag
라이센스 계약을 관리하는 서브루틴의 프론트 엔드로서 작동합니다.
inurecv
설치 실패 또는 소프트웨어 거부의 경우 저장된 파일을 복구합니다(installp -r).
inurest
적용 리스트를 입력으로 사용하여 배급 미디어에서 시스템으로 파일을 복원합니다.
inusave
적용 리스트에서 지정한 모든 파일을 소프트웨어 제품에 속한 저장 디렉토리에 저장합니다.
inuumsg
설치 중인 소프트웨어 제품의 inuumsg.cat 메시지 카탈로그 파일에서 메시지를 발행합니다.
ckprereq
SWVPD에 있는 이미 설치된 제품에 대한 정보 및 lpp_name 파일에 제공된 필수사항 정보를 사용하여 종속 항목과의 소프트웨어 제품의 호환성을 검증합니다.
sysck
설치 및 갱신 프로시저에서 인벤토리 정보를 검사합니다.
sysck 명령은 /usr/bin 디렉토리에 있습니다. 위에 나열된 나머지 명령은 /usr/sbin 디렉토리에 있습니다.

이러한 명령의 사용에 대한 예제는 디폴트 설치 스크립트인 /usr/lib/instl/instal을 참조하십시오.