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

pkgproto
pkgproto pkgproto 명령 목적 원형 파일을 작성합니다. 구문
pkgproto [ -i ] [ -c Class ] [Path1 [=Path2 ] ...]
설명
pkgproto 명령은 지정된 경로를 스캔하고 pkgmk 명령에 대해 입력으로 사용할 원형 파일을 생성합니다. 이렇게 하려면 이 명령의 표준 출력을 파일로 재지정해야 합니다. 그런 다음 pkgmk를 호출할 때 이 파일을 사용할 수 있습니다.
명령행에 지정된 Paths가 없는 경우, 표준 입력은 Paths 리스트로 간주됩니다. 명령행에 나열된 Path가 디렉토리인 경우에는 해당 디렉토리의 내용이 탐색됩니다. 그러나 입력이 stdin에서 읽히는 경우에는 경로로 지정된 디렉토리가 탐색되지 않습니다.
pkgproto는 원형 파일 속성인 mac, fixed 및 inherited를 판별하지 못하므로 이들 속성을 원형 파일에 추가할 때는 수동으로 추가해야 합니다.
디폴트로, pkgproto는 모든 탐색된 심볼 링크에 대해 심볼 링크 항목을 작성합니다(ftype=s). -i 플래그를 사용할 때, pkgproto는 심볼 링크에 대한 파일 항목을 작성합니다(ftype=f). v(소멸성), e(편집가능) 또는 x(배타적 디렉토리) 등의 파일 유형을 지정하려면 원형 파일을 편집해야 합니다. pkgproto는 링크된 파일을 검색합니다. 링크된 파일이 여러 개인 경우에는 최초로 검색된 경로가 링크 소스로 간주됩니다.
이 명령의 출력은 표준 출력으로 전송됩니다. pkgmk 호출시 그 결과를 원형 파일로 사용하려면 표준 출력을 파일로 재지정해야 합니다. pkgmk는 prototype을 원형 파일의 디폴트 파일 이름으로 사용합니다. 따라서 pkgproto의 출력을 지정할 때는 prototype이라는 파일 이름을 사용하는 것이 좋습니다.
이 명령으로 작성된 원형 파일에는 패키지에 필요한 설치 스크립트와 파일에 대한 항목을 추가해야 합니다. 적어도 pkginfo 파일에 대한 항목은 반드시 추가해야 합니다. 또한 패키지에 사용된 파일(copyright, compver, depend, setinfo, space), 패키지용으로 정의된 설치 또는 제거 스크립트 및/또는 정의된 클래스에 대해 항목을 추가해야 할 수도 있습니다.
파일

-i | 심볼 링크를 무시하고 경로를 ftype=f(afile) 대 ftype=s(심볼 링크) 형식으로 기록합니다.
-c Class | 모든 경로의 클래스를 Class에 매핑합니다.
Path1 | 오브젝트가 들어 있는 디렉토리의 경로입니다.
Path2 | 출력에서 Path1을 대체하는 경로입니다.

예제
1. 다음 예제에서는 pkgproto를 사용하여 출력된 일부 리스트를 표시합니다.
예제 1.
$ pkgproto /usr/bin=bin /usr/usr/bin=usrbin /etc=etc
f none bin/sed=/bin/sed 0775 bin bin
f none bin/sh=/bin/sh 0755 bin daemon
f none bin/sort=/bin/sort 0755 bin bin
d none etc/master.d 0755 root daemon
f none etc/master.d/kernel=/etc/master.d/kernel 0644 root daemon
f none etc/rc=/etc/rc 0744 root daemon
예제 2.
$ find / -type d -print | pkgproto
d none / 755 root root
d none /usr/bin 755 bin bin
d none /usr 755 root root
d none /usr/bin 775 bin bin
d none /etc 755 root root
d none /tmp 777 root root
예제 3.
예제 2와 동일하지만, 나중에 pkgmk로 처리할 수 있도록 출력이 파일에 캡처됩니다. 필수 pkginfo 파일에 대한 항목과 파일이 올바른 위치에 복사된 후 실행되는 postinstall 스크립트에 대해 항목이 추가되었습니다.
$ find / -type d -print | pkgproto >prototype
$ (edit the file to add entries for pkginfo and postinstall)
$ cat prototype
i pkginfo
i postinstall
d none / 755 root root
d none /usr/bin 755 bin bin
d none /usr 755 root root
d none /usr/bin 775 bin bin
d none /etc 755 root root
d none /tmp 777 root root
2.
리턴 코드

0 | 스크립트가 성공적으로 완료되었습니다.
1 | 치명적 오류가 발생했습니다. 설치 프로세스가 종료됩니다.

파일

/usr/lib/locale/locale/LC_MESSAGES/uxpkg | 해당 언어로 된 메세지 파일[environ 서브루틴의 LANG 참조]

관련 정보
pkgparam 명령, pkgtrans 명령
pkginfo 파일