INSTALL(1)

명칭
install - 바이너리의 인스톨

서식
install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 file2 install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 ... fileN directory install -d [-v] [-g group] [-m mode] [-o owner] directory ...

해설
파일을 지정한 파일 혹은 디렉토리에 카피합니다. 만약 타겟이 디렉토리이면, file (은)는 원래의 파일명인 채로 directory 의 안에 카피됩니다. 만약 지정 파일이 벌써 존재하고 있는 경우, -b 옵션이 지정되어 있으면 file.old 에 rename 해, 그렇지 않은 경우에는 퍼미션이 허락하면 덧쓰기됩니다. 백업용의 다른 사픽스를, -B 옵션의 인수로 지정 가능합니다.

다음의 옵션을 사용 가능합니다:

-b  기존의 파일에 덧쓰기하기 전에, file.old 에 rename 해, 백업 합니다. 백업용의 다른 사픽스에 대해서는 -B (을)를 참조해 주세요.

-B suffix
    -b 지정시에, suffix (을)를 백업의 사픽스로서 사용합니다.

-C  파일을 카피합니다. 카피처 파일이 벌써 존재 밖에 개내용이 동일한 경우에는, 타겟의 수정 시각을 변경하지 않습니다.

-c  파일을 카피합니다. 이것이 디폴트입니다. -c 옵션은, 후방 호환성 (을) 위해서만 포함되어 있습니다.

-d  디렉토리를 작성합니다. 필요하면, 없는 친디렉토리도 작성됩니다.

-f  타겟 파일의 파일 플래그를 지정합니다; 지정 가능한 플래그의 리스트와 그 의미는 chflags(1) (을)를 참조해 주세요.

-g  그룹을 지정합니다. 수치 지정의 GID 를 이용할 수 있습니다.

-M  mmap(2) 의 사용을 전면적으로 금지합니다.

-m  모드를 지정합니다. 디폴트의 모드는 rwxr-xr-x (0755)에 세트 됩니다. 모드 지정은 8 진수 혹은 상징적인 값의 어디라도 가능합니다; 지정 가능한 모드의 값에 대해서는 chmod(1) (을)를 참조해 주세요.

-o  소유자를 지정합니다. 수치 지정의 UID 를 이용할 수 있습니다.

-p  수정 시각을 보존합니다. -C (비교해 카피) 옵션이 지정되었을 경우와 같이 카피를 실시합니다만, 타겟 파일이 존재하지 않는 것도 깔고는 내용이 다른 경우, 파일의 수정 시각을 보존합니다.

-S  안전 모드. 통상, install (은)는, 신규 파일을 인스톨 하기 전에, 기존의 타겟을 안린크 합니다. -S 플래그를 붙이면(자), 일시파일을 사용해, 이것이 타겟으로 rename 됩니다. 이쪽이 안전한 이유는, 카피 또는 rename가 실패했을 경우, 기존의 타겟은 그대로 남는 것입니다.

-s  install 하 strip(1) 명령을 실행해 바이너리를 스트립 합니다. strip 명령을 별로 기동하기 위해(때문에), 많은 시스템이나 바이너리 형식에 대해서 이식성이 있는 방법이 되고 있습니다.

-v  install (을)를 장황하게 해, 인스톨 혹은 백업 되는 파일을 표시합니다.

디폴트에서는 install (은)는 모든 파일 플래그를 보존합니다. 다만 “nodump” 플래그는 예외입니다.

install 유틸리티는, 파일을 그것 자신으로 이동하지 않게 시도합니다.

/dev/null (을)를 인스톨 하면(자), 하늘의 파일을 만듭니다.

정상 종료시는 0 이 돌아갑니다. 다른 경우는 1 이 돌아갑니다.

진단

관련 파일
INS@XXXX
    -S, -C, -p 옵션의 머지않아가 사용되고 있을 때는, 일시파일명을 INS@XXXX (으)로 합니다. 여기서, XXXX 부분은 mkstemp(3) 그리고 결정되어 타겟 디렉토리에 작성됩니다.

호환성
역사적으로, 디폴트에서는 install (은)는 파일을 이동하고 있었습니다. 디폴트가 카피로 변경된 것은, FreeBSD 4.4 입니다.

관련 항목
chflags(1), chgrp(1), chmod(1), cp(1), mv(1), strip(1), mmap(2), chown(8)

역사
install 유틸리티는 4.2BSD (으)로부터 등장했습니다.

버그
install 하지만 이상종료(ABEND) 했을 경우에, 일시파일이 타겟 디렉토리에 남을지도 모릅니다.

NFS 파일 시스템 경유에서는 fchflags(2) 그리고 파일 플래그를 설정할 수 없습니다. 다른 파일 시스템은 플래그의 개념이 없습니다. 플래그를 서포트하지 않는 파일 시스템에 대해 플래그 설정에 실패했을 경우에는, install 유틸리티는 경고만 실시합니다.

install 유틸리티에 -v (을)를 지정하면(자), -C 하지만 하드 링크를 취급할 때, 카피를 했다고 거짓말합니다.