| HOME / 정보공유 / AIX 명령어 모음

ckprereq
ckprereq ckprereq 명령 목적 전제조건이 되는 모든 소프트웨어가 사용 가능하고 적합한 개정 레벨인지 검증합니다. 구문
ckprereq [ -v ] [ -O { r | u | s } ] [ -f PrereqFile | -l FilesetName [ Level ] ]
설명
ckprereq 명령은 시스템 레벨이 설치 또는 갱신될 소프트웨어 제품과 호환 가능한지를 판별합니다.
ckprereq 명령은 소프트웨어 제품의 설치과정에서 사용하도록 고안되었습니다.
ckprereq가 -f 플래그와 함께 호출될 때, PrereqFile 매개변수는 소프트웨어 전제 리스트 파일을 지정합니다. 이 파일에 있는 각 레코드에는 설치 프로시저를 완료하는 데 필요한 전제 파일세트에 관한 정보가 들어 있습니다.
ckprereq가 -l 플래그와 함께 호출될 때, 전제조건 정보는 소프트웨어 주요 제품 데이터(SWVPD) 데이터베이스에 있는 ProductName 정보로부터 읽혀집니다.
PrereqFile 매개변수에 -f 플래그를 사용하면, ckprereq 명령으로 출력 파일이 생깁니다. 출력 파일은 입력 파일을 겹쳐쓰고 원래 입력사항을 나열합니다. 실패 행은 첫 열에 장애 코드가 표시됩니다. 이전 ckprereq 호출의 출력이 입력으로 사용된 경우 ckprereq 명령은 장애 코드를 무시합니다.
가능한 네 가지 필수 테스트는 prereq, coreq, ifreq 및 instreq입니다.
prereq은 파일세트가 지정된 개정 레벨로 설치되었는지를 검사하는 테스트입니다. 설치된 것으로 간주되려면, 소프트웨어 제품의 SWVPD 항목이 APPLIED, APPLYING, COMMITTED 또는 COMMITTING 상태에 있어야 합니다. prereq은 또한 파일세트를 설치하기 전에 그것이 지정된 개정 레벨인지를 확인합니다.
coreq 테스트는 임의의 순서대로 설치될 수 있는 반면, prereq 테스트는 특정 순서를 필요로 한다는 점을 제외하고는, coreq 테스트는 prereq 테스트와 비슷합니다. 핵심적 필수 소프트웨어 제품이 아직 설치되지 않은 경우, 테스트는 무시되고 소프트웨어 제품이 설치될 것으로 가정되기 때문에 실패 코드는 설정되지 않습니다. coreq 테스트는 ckprereq 명령에 의해 무시됩니다(installp 명령의 필수 검사 프로시저에 의해 무시되는 것이 아닙니다).
ifreq 테스트는 파일세트가 설치되는 경우 개정 레벨에 대해 테스트하는 점을 제외하고는 coreq와 동일합니다. 파일세트가 설치되지 않는 경우, ifreq 테스트는 무시됩니다.
instreq 테스트는 ckprereq 명령에 의해 prereq 테스트처럼 취급됩니다. instreq의 특별한 의미는 installp 명령의 주요 필수 검사에 의해서만 사용됩니다.
installp 명령은 설치 완료시 corequisite 및 if-requisite 파일세트를 검사한 후 충족되지 않은 모든 coreq 또는 ifreq 조건에 대한 메세지를 리턴합니다. if-requisite 제품이 설치되지만 지정된 개정 레벨과 일치하지 않는 경우, if-requisite 조건은 만족되지 않습니다.
플래그
-f PrereqFile 전제조건 리스트 파일의 파일 이름을 지정합니다.
-l FilesetName[ Level ]
SWVPD 데이터베이스에서 전제조건 정보를 찾을 파일세트 또는 파일세트 갱신의 이름을 지정합니다.
-O {r|u|s} 검사될 소프트웨어 제품의 파일 트리의 일부를 지정합니다. 이 플래그를 지정하지 않은 경우 ckprereq 명령은 INUTREE 환경 변수의 값을 사용하여 검사할 부분을 판별합니다. INUTREE 환경 변수는 installp 명령에 의해 설정됩니다. r 옵션은 /(루트) 부분을 검사했음을 나타냅니다. u 옵션은 소프트웨어 제품의 /usr 부분이 검사될 것임을 나타냅니다. s 옵션은 옵션은 소프트웨어 제품의 /usr/share 부분이 검사될 것임을 나타냅니다. 한 번에 한 부분만 검사할 수 있습니다.
-v 전제 리스트 파일에 있는 각 실패에 대한 표준 오류로 설명 메세지를 출력합니다.
리턴 값
ckprereq 명령은 SWVPD에서 발견되는 현재 버전, 릴리스, 수정(modification) 레벨, 수정(fix) 레벨 및 수정 ID를 테스트하고 테스트가 실패하는 경우 출력 파일에서 각 실패하는 행의 첫번째 열을 다음 코드 중 하나로 표시합니다.
f 수정(fix) 레벨에 대한 테스트가 실패했습니다.
m 수정(modification) 레벨에 대한 테스트가 실패했습니다.
n 파일세트가 설치되지 않거나 broken으로 설정됩니다.
p 수정 ID에 대한 테스트가 실패했습니다.
r 릴리스에 대한 테스트가 실패했습니다.
s PrereqFile 매개변수에 구문 오류가 발생했습니다.
v 버전에 대한 테스트가 실패했습니다.
전제조건 리스트 파일에 유효하지 않은 명령행 또는 구문 오류와 같은 심각한 오류가 발생하는 경우, ckprereq 명령에 대한 리턴 코드는 255입니다. 그밖의 경우에 리턴 코드는 실패한 테스트의 번호를 나타내는 번호입니다.
보안
액세스 제어: 이 명령을 수행하려면 루트 권한이 있어야 합니다.
예제
다음과 같은 내용이 있는 파일 /tmp/prq.test의 필수 스펙이 충족되었는지에 대한 검사를 위해서, 다음을 입력하십시오.
*prereq bos.rte 4.1.0.0
*prereq X11.base.rte 4.1.0.0
실패를 보고하면서 수행하려면 다음과 같이 입력하십시오.
ckprereq -vf /tmp/prq.test
루트 부분에 대해 /usr/lpp/snaserv/prereq2 파일에 나열되는 모든 필수 소프트웨어를 검사하려면, 다음과 같이 입력하십시오.
ckprereq -f /usr/lpp/snaserv/prereq2 -Or
레벨 4.1.0.1에 있는 설치된 파일세트 갱신 bos.net.tcp.client의 필수조건이 만족되는지 검사하려면, 다음과 같이 입력하십시오.
ckprereq -l bos.net.tcp.client 4.1.0.1
파일
/etc/objrepos/product 파일시스템의 /root 부분에 설치된 소프트웨어에 대한 정보가 있는 데이터베이스.
/usr/lib/objrepos/product 파일시스템의 /usr 부분에 설치된 소프트웨어에 대한 정보가 있는 데이터베이스.
/usr/share/lib/objrepos/product 파일시스템의 /usr/share 부분에 설치된 소프트웨어에 대한 정보가 있는 데이터베이스.
관련 정보
installp 명령.