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

invscoutd
invscoutd invscoutd 명령 목적 영구적 인벤토리 스카우트 서버 디먼을 시작합니다. 구문
invscoutd [ -o] [ -pPortno] [ -bBufsize] [ -dMaxdbsize] [ -tTimeout] [ -vVerblev] Logfile
설명
invscoutd 명령은 사용자의 국지 네트워크의 기계에 대해 영구적 인벤토리 스카우트 서버 디먼을 구현합니다. 일반적인 클라이언트는 사용자의 웹 브라우저에서 수행 중인 Java 애플릿이며, 중앙 인벤토리 스카우트 CGI 응용프로그램으로부터 다운로드됩니다.
디먼 초기화에는 명령행 옵션 및 여러 국지 인벤토리 스카우트 동료 파일 읽기가 포함됩니다. 조작에서 한번씩, 각 클라이언트-서버 트랜잭션에는 텍스트 문자열을 잘 알고 있는 소켓으로부터 읽고 동일한 소켓을 통해 텍스트 보고서를 리턴하는 과정이 포함됩니다.
프로토콜
디먼의 소켓과의 클라이언트 연결은 인터넷 TCP/IP 프로토콜을 사용합니다. 트랜잭션에서, 호출하는 클라이언트 애플릿이 "조치" 요청을 URL 코드화된 텍스트 문자열로서 서버 디먼에 전송합니다. 요청은 요청의 처리를 트리거(trigger)하는 ASCII 제어 문자(x00에서 x1F)에 의해 이루어집니다.
일부 요청에는 클라이언트가 추가 임의의 데이터를 전달해야 합니다. 이 경우, 추가 데이터는 조치 요청에 지정된 길이의 종료 바이트 바로 뒤에 위치합니다.
한 가지 예외(ACTION=PING)로, 서버 디먼은 항상 동일한 소켓 연결을 통해 작성된 의사 MIME 형식 텍스트 보고서를 리턴합니다. 의사 MIME 형식은 오류 결과에도 사용됩니다. 디먼은 소켓을 닫아 리턴된 텍스트와 트랜잭션 자체를 종료하고, 그 결과 EOF를 호출한 클라이언트에 지시합니다. 클라이언트는 EOF를 수신하자마자 연결 종료시 소켓을 닫아야 합니다.
조치 요청
조치 요청 문자열은 표준 URL 코드화된 문자열입니다. 예를 들어, 다음은
"ACTION=actionword&NAME1=value1&NAME2&NAME3=word%xx+word+word\0"
.
필드 이름 및 그 값은 등호(=)로 구분됩니다.
Name=Value 쌍은 앰퍼샌드(&)로 구분됩니다.
Name 필드는 항상 대소문자를 구별하지 않습니다.
Value 필드는 달리 명시되지 않으면 대소문자를 구별하지 않습니다.
ACTION=keyword 쌍은 항상 존재해야 합니다.
조치에 암호가 필요할 경우에는 MRDM=clearpwd 쌍이 반드시 존재해야 합니다. clearpwd 값은 대소문자 구분합니다.
DATALEN=n 쌍은 추가 2진 데이터가 조치 문자열 종료 바이트 바로 뒤에 있을 경우에는 반드시 존재해야 하고, 종료 바이트 뒤에 추가 데이터가 없으면 이 쌍이 없어야 합니다. 정수 n은 추가 데이터 바이트의 수를 지정합니다. 클라이언트가 n 바이트 이상의 추가 데이터를 쓰려고 할 경우, 조치가 DATALEN 매개변수를 승인하지 않고 추가 데이터를 버릴 경우, 또는 조치 프로세서가 조기 오류를 발견할 경우, 디먼이 클라이언트 대 서버 소켓 파이프를 미리 닫을 수 있습니다. 특정 최대 값보다 큰 n값의 트랜잭션은 즉시 오류 코드를 리턴합니다(-d 플래그 참조).
등호가 없는 앰퍼샌드 사이의 문자열은 빈 값의 Name으로 해석됩니다.
공백은 더하기 부호(+)로 표시됩니다.
2진 문자는 퍼센트 부호 뒤에 정확히 두 16진 문자(%xx)가 있는 에스케이프 문자열로 코드할 수 있습니다. 이 에스케이프 문자열은 값 안의 등호, 앰퍼샌드 및 더하기 부호와 같은 URL 메타문자 코드에 사용될 수도 있습니다.
제어 문자 종료 바이트는 항상 클라이언트가 전송해야 합니다.
결과
디먼이 의사 MIME 형식으로 텍스트 결과를 리턴합니다. 특히, 한 행에 하나씩 하나 이상의 Name=Value 쌍으로 구성된 헤더를 리턴합니다. 첫번째 Name=Value 쌍은 항상 RESULT=number 양식의 "결과" 코드이어야 합니다. 결과 코드는 PING 조치를 제외한 매 조치에 대해 항상 리턴됩니다.
Java 애플릿 클라이언트에만 적용 가능한 내부 스카우트 결과 코드는 아래에 문서화되어 있지 않습니다.
선택적 자유 양식 텍스트 보고서가 결과 코드에 따라 헤더 행 뒤에 있을 수 있습니다. 자유 양식 텍스트 보고서가 있을 경우, 두 인접 줄 넘김 문자(LF)와 같은 공백 행에 의해 헤더가 최초로 종료됩니다.
이벤트에서, 결과 보고서는 소켓에서 마지막 보고서 텍스트를 읽은 후 EOF 표시기에 의해 종료됩니다. EOF는 또한 트랜잭션 자체의 종료를 의미합니다.
표 1-1.
조치 요청 ACTION= 설명
PING 디먼이 즉시 소켓을 닫고, 클라이언트에서 즉각 EOF가 나타납니다. 이것은 어떤 종류의 결과 코드 또는 텍스트를 리턴하지 않는 유일한 조치입니다. 예제:
"action=ping\0"
ECHO 디먼이 원래 해석되지 않은 요청 문자열과 그 뒤의 자동 줄넘김으로 구성된 텍스트 보고서를 리턴합니다. 암호(MRDM)는 필요하지 않지만 제공되면 다른 모든 암호와 함께 반향(echo)됩니다. 추가 데이터(DATALEN)는 필요하지 않지만 있으면 요청 문자열 뒤에 그대로 반향(echo)됩니다. ECHO 요청의 경우, DATALEN은 최대 2000으로 조용히 절단됩니다. 예제:
"action=ECHO&MRDM=yadayada&datalen=9\0Hi There!"
"RESULT=0\n"
"\n"
"action=ECHO&MRDM=yadayada&datalen=9\n"
"Hi There!"
URLDECODE 디먼이 해석 후에 요청 문자열의 텍스트 보고서 및 후속 데이터가 있다면 그 정확한 사본을 리턴합니다. 암호(MRDM)는 필요하지 않지만 제공되면 해석되어 리턴됩니다. 추가 데이터(DATALEN)는 필요하지 않지만 제공되면 해석되어 리턴됩니다. 하지만 요청 문자열 이상의 실제 추가 데이터는 버려집니다. 요청의 번호가 지정된 각 행은 원래 문자열로부터 하나의 해석된 Name=Value 쌍을 나타냅니다. 예제:
"action=UrlDecode&subaction=yadayada\0"
"RESULT=0\n"
"\n"
" 0: ACTION UrlDecode\n"
" 1: SUBACTION yadayada\n"
TESTPWD MRD 암호가 유효할 경우 디먼이 RESULT=0를 리턴합니다. 그렇지 않으면 RESULT=2를 리턴합니다. 추가 데이터(DATALEN)는 승인되지 않고 있다면 버려집니다. 예제:
"ACTION=TESTPWD&MRDM=thepassword\0"
"RESULT=0\n"
"\n"
VERSIONS 디먼이 인벤토리 스카우트 자체 및 스카우트 논리적 데이터베이스의 현재 버전 번호를 보고합니다. 암호(MRDM)는 필요하지 않습니다. 추가 데이터(DATALEN)는 승인되지 않고 있다면 버려집니다. 예제:
"ACTION=VERSIONS\0"
"RESULT=0\n"
"\n"
"1.2.3.4\n"
"5.6.7.8\n"
LOGICDB 디먼이 스카우트 논리적 데이터베이스를 갱신합니다. 유효한 암호(MRDM) 및 추가 데이터(DATALEN)가 모두 필요합니다. 추가 데이터는 새로운 논리적 데이터베이스로, 압축되고 인벤토리 스카우트 공용 키로 IBM에 등록됩니다. 이 조치는 이전 데이터베이스를 대체하기 전에 국지 인벤토리 스카우트 공용 키를 사용하여 기호를 인증합니다. 성공적이면, 리턴된 보고서에 새로운 논리적 데이터베이스 버전 번호가 포함됩니다. 예제:
"ACTION=LOGICDB&MRDM=yadayada&DATALEN=17042\0"
"...17042 bytes of binary data..."
"RESULT=0\n"
"\n"
"1.2.3.4\n"
MCODES 디먼이 마이크로코드 조사 옵션을 실행합니다(독립형 버전의 어떤 명령행 옵션도 지원되지 않습니다). 유효한 암호(MRDM)가 필요합니다. 추가 데이터(DATALEN)는 승인되지 않고 있다면 버려집니다. 예제:
"ACTION=MCODES&MRDM=xyz\0"
"RESULT=0\n"
"\n"
"Report Line 1\n"
"Report Line 2\n"
:
:
"Report Line N\n"
VPDS 디먼이 VPD 조사 옵션을 실행합니다(독립형 버전의 어떤 명령행 옵션도 지원되지 않습니다). 유효한 암호(MRDM)가 필요합니다. 추가 데이터(DATALEN)는 승인되지 않고 있다면 버려집니다. 예제:
"ACTION=VPDS&MRDM=xyz\0"
"RESULT=0\n"
"\n"
"Report Line 1\n"
"Report Line 2\n"
:
:
"Report Line N\n"
표 1-2.
결과 코드

Result= | 설명
--- | ---
0 | 성공적으로 완료되었습니다.
1 | 메모리 할당 오류로 인해 디먼이 중단되었습니다.이는 상위 서버 디먼 또는 서비스 하위 중 하나에서 발생할 수 있습니다.
2 | 필수 암호(MRDM=password)가 없거나 유효하지 않아 서비스 하위 디먼이 중단되었습니다.
3 | 조치 이름 값 쌍(ACTION=keyword)이 없거나 유효하지 않아서 서비스 하위 디먼이 중단되었습니다.
4 | 사용자 ID를 "invscout"로 재설정할 수 없어서 서비스 하위 디먼이 중단되었습니다.
21 | 소켓 입력 버퍼의 오버플로우로 인해 서비스 하위 디먼이 중단되었습니다.결과의 텍스트 보고서 부분이 자국어 오류 메세지입니다.클라이언트는 요청된 문자열의 길이를 줄이거나, 버퍼 크기를 늘려 디먼을종료(kill)하고 다시 시작해야 합니다.
22 | 소켓 읽기 오류로 인해 서비스 하위 디먼이 중단되었습니다.결과의 텍스트 보고서 부분이 시스템의 I/O errno 문자열이 포함된 자국어오류 메세지입니다. 로그 파일 항목에도 시스템의 errno 문자열이 들어 있습니다.
23 | 소켓 읽기 시간종료로 인해 서비스 하위 디먼이 중단되었습니다.결과의 텍스트 보고서 부분이 자국어 오류 메세지입니다. 클라이언트가요청 문자열 종료후에 제어 문자 종료 바이트를 전송해야 하며, DATALEN매개변수에 지정된 수의 데이터 바이트를 항상 전송해야 합니다. 시간종료 기간이 -t 명령행 인수로 변경되었습니다.
24 | 요청 문자열을 읽는 중에 때 아닌 EOF로 인해 서비스 하위 디먼이 중단되었습니다. 결과의 텍스트 보고서 부분이 자국어 오류 메세지입니다. 클라이언트가 소켓 연결을 닫기 전에 요청 문자열 종료 후 종료 바이트를 전송해야 합니다.
25 | DATALEN 매개변수가 필요한 조치에 대해 DATALEN 매개변수가 없거나 유효하지 않아서 서비스 하위 디먼이 중단되었습니다. 결과의 텍스트 보고서 쌍이 자국어 오류 메세지입니다. URL 코드된 요청 문자열 이상의 추가 2진 데이터를 전달하는 모든 조치에 대해 클라이언트가 데이터 길이를 전송해야 합니다. 대부분의 조치는 DATALEN 값이 특정 최대 크기로 제한되어야 합니다.
26 | 사용권한 오류, 디스크 공간 부족 등과 같은 일상적인 파일 I/O 오류로 인해 서비스 하위 디먼이 중단되었습니다. 결과의 텍스트 보고서 부분이 자국어 오류 메세지입니다. 대개의 경우, 클라이언트가 조치를 다시 시작하기 전에 서버 기계에서 I/O 문제가 수정되어야 합니다.
27 | 논리적 데이터베이스의 버전 번호가 필요한 조치에 대해 버전 번호를 검색할 수 없어서 서비스 하위 디먼이 중단되었습니다.
28 | 표준 인벤토리 스카우트 파일의 경로 이름이 필요한 조치에 대해 경로 이름을 검색할 수 없어서 서비스 하위 디먼이 중단되었습니다. 이같은 파일에는 논리적 데이터베이스와 공용 키가 포함됩니다.
29 | LOGICDB 조치에서 다운로드된 데이터 형식이 유효하지 않아서 서비스 하위 디먼이 중단되었습니다.
30 | LOGICDB 조치에서 다운로드된 데이터를 인증할 수 없어서 서비스 하위 디먼이 중단되었습니다.
31 | LOGICDB 조치에서 다운로드된 논리적 데이터베이스를 압축 해제할 수 없어서 서비스 하위 디먼이 중단되었습니다.
32 | LOGICDB 조치에서 이전 논리적 데이터베이스 파일을 새로운 파일로 겹쳐쓸 수 없어서 서비스 하위 디먼이 중단되었습니다.

사용 방법
invscoutd 명령은 POWER 기반 플랫폼에만 적용됩니다. 현재, 서버는 호스트 대 네트워크 데이터 변환을 제공하지 않으므로, little-endian 및 byte-swap 클라이언트와 잘못된 데이터를 통신합니다.
플래그
필수 logfile 인수 전에 하이픈(-)으로 시작하는 인수를 지정합니다. 플래그와 값 사이에 공백은 허용되지 않습니다.
-bBufsize
인벤토리 스카우트 명령은 TCP/IP 소켓으로부터 1024 바이트 고정 길이 버퍼로 읽는 URL 코드화된 문자열로서 지정됩니다. 장차 프로토콜 변경으로 더 큰 읽기 버퍼가 필요할 경우, 이 플래그가 버퍼 크기를 Bufsize 바이트로 변경할 수 있습니다.
-dMaxdbsize
이 플래그는 다운로드된 논리적 데이터베이스의 최대 크기를 디폴트 50000에서 Maxdbsize로 변경합니다. 클라이언트 애플릿이 최대 허용된 크기보다 더 큰 DATALEN 값을 지정할 경우, 디먼은 ACTION=LOGICDB 트랜잭션을 중단합니다.
Logfile
유일한 필수 명령행 인수는 Logfile 이름입니다. 지정된 상세 레벨에 따라, 로그 행에 시작과 종료 배너, 각 호출의 추적, 자세한 내부 프로그램 추적 및 오류 문장이 포함될 수 있습니다. 지정된 상세 레벨에 따라, 시작 배너 또한 stderr에 기록될 수 있습니다. Logfile은 루트 디렉토리에서 시작하는 전체 규정된 경로 이름이어야 하며, 상대 파일 이름은 작업 디렉토리가 아닌 시스템의 루트 디렉토리로부터 상대적으로 추정됩니다.
-o
이 플래그는 기존 로그 파일을 겹쳐씁니다. 이 플래그를 지정하지 않으면, 새로운 로그 파일 행이 기존 로그 파일에 추가됩니다.
-pPortno
이 플래그는 이 서버의 포트 번호를 디폴트 808에서 Port로 변경합니다.
-tTimeout
클라이언트 애플릿은 URL 코드화된 요청 문자열의 끝에 제어 문자 종료 바이트를 기록하여 요청의 끝을 지시합니다. invscoutd 디먼이 시간종료 기간 내에 종료 바이트를 받지 않으면, 트랜잭션을 중단하고 소켓을 닫습니다. 마찬가지로 클라이언트는 읽기 블록 사이의 시간종료를 방지하기 위해 충분한 속도로 DATALEN 매개변수에 지정된 추가 데이터의 모든 바이트를 전송해야 합니다. 이 옵션은 디폴트 시간종료 기간을 30초에서 Timeout초로 변경합니다.
-vVerblev
로그 파일 및 stderr에 기록된 세부사항의 양은 디먼의 상세 레벨에 따라 다릅니다. 각 레벨은 더 낮은 레벨의 메세지를 포함하며, 상세 레벨을 높이면 기록되는 메세지 유형의 수가 늘어납니다. 상세 레벨은 0에서 25 범위의 정수입니다. 이 플래그는 상세 레벨을 디폴트 18에서 Verblev로 변경합니다.
표 1-3.
상세 레벨

레벨 | 설명
--- | ---
0 | 모든 오류 및 상태 메세지가 사용 불가능하게 됩니다.
5 | 치명적 오류 메세지만 기록됩니다. 치명적 오류는 서버의 작동 중지를 초래합니다. 보통, 유사한 메세지가 Logfile 및 stderr 둘다에 기록됩니다.
10 | 모든 오류 메세지가 기록됩니다. 여기에는 치명적 오류뿐 아니라, 프로토콜 오류와 같은 치명적이지 않은 오류도 포함됩니다. 치명적이 아닌 오류 메세지는 일반적으로 Logfile에만 기록됩니다.
15 | 이 레벨에는 시작 및 종료 배너 메세지가 포함됩니다. 단순한 배너 메세지는 보통 Logfile 및 stderr 둘 다에 기록됩니다.
18 | 이 레벨에는 호출 추적 상태 메세지가 포함됩니다. 모든 클라이언트 호출의 결과로 하나의 추적 메세지가 나타납니다. 이것은 invscoutd디먼에 대한 디폴트 레벨입니다. 추적 메세지는 Logfile에만 기록됩니다.
20 | 이 레벨에는 프로그램 추적 메세지가 포함됩니다. 프로그램 추적은 진단 목적으로 사용되는 상당히 세부적인 프로그램 실행 상태 메세지입니다. 이 레벨은 시간 초과로 인해 정상적인 생산 실행에는 적합하지 않으며, 많은 양의 텍스트로 Logfile이 넘치게 됩니다. 추적 메세지는 Logfile에만 기록됩니다.
25 | 이것이 최대 레벨이며 광범위한 프로그램 진단 메세지가 포함됩니다. 이 레벨은 정상적인 생산 실행에는 적합하지 않습니다. 추적 메세지는 Logfile에만 기록됩니다.

종료 상태
이 명령은 다음과 같은 종료 값을 리턴합니다.
0 성공적인 초기화를 나타냅니다.
제로가 아님 성공적이지 않은 초기화를 나타냅니다.
보안
디먼은 유효 사용자 식별자(루트)로 실행해야 합니다. 하지만 디먼의 서비스 하위는 사용자 ID를 인증 사용자 ID"invscout"로 재설정합니다. 사용자 "invscout"가 호스트 시스템에 작성되어 있지 않으면 디먼이 실행되지 않습니다.
디폴트로, 대부분의 조작에 대해 클라이언트로부터 동반 cleartext 암호가 필요합니다. 클라이언트의 암호가 인증 사용자 ID "invscout"에 대한 시스템 암호와 일치하지 않으면, 리턴 코드와 함께 종료 조치됩니다. 인증 사용자 ID는 변경할 수 없습니다.
클라이언트로부터 전달된 데이터가 국지 호스트의 IBM 인벤토리 스카우트 공용 키로 인증될 수 없으면 LOGICDB 조치가 실패합니다.
파일
/etc/security/password 호스트 시스템 암호 파일
/var/adm/invscout/invsd.puk 인벤토리 스카우트 공용 키 파일의 이름
/var/adm/invscout/invs.log 로그 파일의 관습적 이름. 실제 이름은 명령행에 지정됩니다.
관련 정보
invscout 명령