설치와 cp의 차이점은 무엇입니까? [복사]

설치와 cp의 차이점은 무엇입니까? [복사]

어떻게install단순 복사와는 다르게,cp또는dd? 방금 작은 유틸리티를 컴파일하고 변수를 /usr/sbin통해 사용할 수 있도록 추가하고 싶었습니다 PATH. 왜 다른 것을 사용합니까?

답변1

소스에서 컴파일된 바이너리를 "설치"하려면 다음 디렉터리에 바이너리를 배치하는 것이 가장 좋습니다.

/usr/local/bin

일부 시스템에서는 이 경로가 이미 PATH 변수에 있습니다. 그렇지 않은 경우 구성 파일 중 하나에서 PATH 변수를 조정하여 추가할 수 있습니다.~/.bashrc ~/.profile

PATH=${PATH}:/usr/local/bin

dd파일이나 장치와 같은 소스의 정확한 크기 블록을 복사하는 데 주로 사용되는 저수준 복사 도구입니다.

cp-r권한을 유지하는 옵션을 사용하여 파일과 디렉터리를 반복적으로 복사하는 일반적인 명령입니다 -p.

install대부분과 비슷 cp하지만 별도로 사용할 필요 없이 대상 파일 속성을 직접 설정할 수 있는 옵션을 추가로 제공합니다 chmod.

cp파일을 만들고 /usr/local/bin필요에 따라 변수를 조정합니다. PATH이것이 내가 할 일이다.

답변2

install와 사이의 주요 차이점 cp은 대상 파일이 이미 존재하는 경우 install먼저 연결이 해제된다는 것입니다.

이 차이점은 매뉴얼 페이지에 명시되어 있지 않습니다. 다른 답변에 나열된 내용도 중요합니다. 두 프로그램 모두 옵션이 다르고 GNU에는 installBSD 와 다른 옵션이 있으므로 install휴대용 Makefile은 공통 하위 집합으로 제한됩니다.

연결 해제( rmbefore 를 통해서도 수행 할 수 있음 cp)가 중요한 이유는 무엇입니까? 두 개의 하드 링크가 있는 파일이 있고 하드 링크 중 하나를 사용하여 수정하면 파일 시스템의 다른 곳에서도 수정됩니다. 그러나 하드링크 중 하나를 먼저 삭제하고 수정된 파일로 교체하면 원본 버전은 다른 위치에 그대로 유지됩니다.

더 가능성 있는 시나리오는 사용 중인 프로그램이나 라이브러리를 업데이트하는 것입니다. 먼저 바이너리의 링크를 해제해도 실행 중인 프로그램에는 영향을 미치지 않습니다. 자세한 내용이 포함된 좋은 기사는 다음과 같습니다. http://en.chys.info/2009/05/install-vs-cp-and-mmap/

답변3

복사 파일을 설치하려면 기본 모드 755를 사용하십시오.

파일의 소유자나 그룹 및/또는 파일의 모드를 설정하도록 설치를 구성할 수 있습니다.

원본 파일을 교체하기 전에 백업하도록 설치를 구성할 수 있습니다.

관련 정보