install
나는 이 명령이 많은 Makefile에서 사용되는 것을 보았 으며 그 존재와 사용법이 약간 혼란스럽습니다. 맨페이지에서 보면 기능이 적은 복제품인 것 같지만 cp
, 그보다 더 강력하지 않다면 cp
... 무슨 일이죠?
답변1
install
파일을 복사할 뿐만 아니라 소유권과 권한도 변경하고 선택적으로 실행 파일에서 디버깅 기호를 제거합니다. , 및 cp
와 결합 됩니다 . 이는 다양한 일반적인 기본 작업을 수행할 수 있는 편리한 고급 도구입니다.chown
chmod
strip
install
실행 파일 설치의 한 가지 장점 cp
은 대상이 이미 존재하는 경우 대상 파일을 삭제하고 새 파일을 생성한다는 것입니다. 이는 장점이자 단점으로 보일 수 있는 액세스 제어 목록 및 기능과 같은 현재 속성을 제거합니다. 실행 파일을 업데이트할 때 실행 파일이 이미 실행 중인 경우 영향을 받지 않고 계속 실행됩니다. 대신, cp
파일이 존재하면 파일이 그 자리에서 업데이트됩니다. 대부분의 Unix 변형에서는 대상이 실행 중인 실행 파일인 경우 오류 EBUSY1로 실패합니다. 어떤 경우에는 코드 섹션을 동적으로 로드하고 파일을 수정하기 때문에 대상이 충돌할 수 있습니다. 의미 없는 코드가 로드됩니다.
install
BSD 명령입니다(다음에 추가됨).4.2BSD즉, 1980년대 초반). POSIX에서는 채택되지 않았습니다.
1 "텍스트 파일 사용 중". 이 경우 "텍스트 파일"은 "바이너리 실행 파일"을 의미합니다.알려지지 않은 역사적 이유.
답변2
단일 명령으로 파일을 복사하거나 디렉터리를 생성할 때 파일이나 디렉터리의 소유권과 권한을 조작하는 표준화된 방법을 제공합니다.
답변3
명령을 사용하여 install
필요한 권한으로 파일을 복사할 수 있습니다.
LDAP 설정 시 사용할 주요 예
install -o ldap -g ldap /etc/openldap/DB_CONFIG_EXAMPLE /var/lib/ldap/DB_CONFIG
이렇게 하면 시간이 절약됩니다 . 사용하기 위해 복사하는 경우 chown ldap. /var/lib/ldap/DB_CONFIG
이 경우 에도 cp
이 작업을 수행해야 합니다 .chown
답변4
매뉴얼 페이지를 참조하십시오 install
:
$ man install
발췌
SYNOPSIS
install [OPTION]... [-T] SOURCE DEST
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...
install [OPTION]... -d DIRECTORY...
DESCRIPTION
This install program copies files (often just compiled) into
destination locations you choose. If you want to download and
install a ready-to-use package on a GNU/Linux system, you should instead
be using a package manager like yum(1) or apt-get(1).
In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to
the existing DIRECTORY, while setting permission modes and
owner/group. In the 4th form, create all components of the given
DIRECTORY(ies).
Mandatory arguments to long options are mandatory for short options too.
특정 소유권, 권한으로 설치, 원본 파일 타임스탬프 보존과 같은 기타 유용한 기능도 install
.
-g, --group=GROUP
set group ownership, instead of process' current group
-m, --mode=MODE
set permission mode (as in chmod), instead of rwxr-xr-x
-o, --owner=OWNER
set ownership (super-user only)
-p, --preserve-timestamps
apply access/modification times of SOURCE files to corresponding
destination files