"install" 명령의 목적은 무엇입니까?

"install" 명령의 목적은 무엇입니까?

install나는 이 명령이 많은 Makefile에서 사용되는 것을 보았 으며 그 존재와 사용법이 약간 혼란스럽습니다. 맨페이지에서 보면 기능이 적은 복제품인 것 같지만 cp, 그보다 더 강력하지 않다면 cp... 무슨 일이죠?

답변1

install파일을 복사할 뿐만 아니라 소유권과 권한도 변경하고 선택적으로 실행 파일에서 디버깅 기호를 제거합니다. , 및 cp와 결합 됩니다 . 이는 다양한 일반적인 기본 작업을 수행할 수 있는 편리한 고급 도구입니다.chownchmodstrip

install실행 파일 설치의 한 가지 장점 cp은 대상이 이미 존재하는 경우 대상 파일을 삭제하고 새 파일을 생성한다는 것입니다. 이는 장점이자 단점으로 보일 수 있는 액세스 제어 목록 및 기능과 같은 현재 속성을 제거합니다. 실행 파일을 업데이트할 때 실행 파일이 이미 실행 중인 경우 영향을 받지 않고 계속 실행됩니다. 대신, cp파일이 존재하면 파일이 그 자리에서 업데이트됩니다. 대부분의 Unix 변형에서는 대상이 실행 중인 실행 파일인 경우 오류 EBUSY1로 실패합니다. 어떤 경우에는 코드 섹션을 동적으로 로드하고 파일을 수정하기 때문에 대상이 충돌할 수 있습니다. 의미 없는 코드가 로드됩니다.

installBSD 명령입니다(다음에 추가됨).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

인용하다

관련 정보