오늘 redis를 설치했는데 공식 문서에는 make install을 실행하라고 나와 있지 않은 것을 발견했습니다. src 디렉터리로 이동하여 redis-server
파일을 실행하면 시작됩니다.
다른 많은 사람들의 노트를 보면 그들은 모두 make install
라고 썼고, 실제로는 src 디렉터리에 있는 여러 바이너리 파일을 시스템의 /usr/local/bin
에 복사한 것뿐이라는 사실을 발견했습니다.
확인해 보니 make install
가 Makefile
에 있는 스크립트를 실행하는 것 같습니다.
실제 함수는 위에서 언급한 바이너리 파일을 복사하는 것뿐인가요?
redis 설치를 예로 들어 프로그램 설치 시 주로 make install을 물어보세요
make install
(make
명령의 경우) 문자 그대로install
목표 달성을 의미합니다. 이 목표를install
이라고 하니 당연히 소프트웨어를 설치하는 것이다.UNIX 계열 시스템에서는 일반적으로 소프트웨어 설치에 다음 단계가 선택적으로 포함됩니다.
strip
바이너리 코드 파일에서 불필요한 기호 제거UNIX 계열 시스템의 일부 소프트웨어는 설치가 필요하지 않으며 실행 파일을 실행하여 바로 사용할 수 있습니다. 예를 들어, 소프트웨어에 필요한 구성 파일과 리소스 파일이 해당 위치에 복사되지 않는 경우 동적 링크 라이브러리를 포함하는 소프트웨어는 동적 링크 라이브러리 캐시를 업데이트해야 하기 때문에 오류가 발생합니다. 방금 컴파일한 동적 링크 라이브러리를 찾을 수 없습니다. 등등. 기다리세요.
공식 README에서 발췌:
으아악마찬가지로
으아악https://github.com/antirez/redis/blob/3.0/Makefile에서 발췌
으아악단, src 디렉토리 아래
make install
를 실행하기 위한 것입니다.src/ 폴더에 있는 Makefile을 살펴본 후 여러 가지 작업에 대해 /usr/local/bin을 디렉터리 매개변수(기본값)로 사용하여
install
명령을 실행했습니다(하나씩 나열하지 않도록 해주세요).비고: make 후에 매개변수를 추가하면 일반적으로 Makefile에서 대상이 실행됩니다. 예를 들어
make install
은 Makefile의install:
아래에 있는 일련의 명령을 실행하는 것입니다.그럼
install
명령은 무엇인가요?man install
잠시 후에 다음 내용을 알게 될 것입니다.자세한 정보는 직접 알아보세요.