今天在安装redis的时候发现官方的文档上没有说要执行make install,直接cd 到src 目录里面执行redis-server
文件就能启动。
而看很多别人的笔记呢,则都写了make install
,发现实际就是把src目录下的几个二进制文件复制到了系统的/usr/local/bin
下面了而已。
查了下似乎是说make install
执行的是Makefile
里面的脚本。
实际的作用也就是上面说的复制二进制文件么?
只是以redis的安装为例,主要是问安装程序时候的make install
给我你的怀抱2017-04-25 09:03:08
make install
(make
명령의 경우) 문자 그대로 install
목표 달성을 의미합니다. 이 목표를 install
이라고 하니 당연히 소프트웨어를 설치하는 것이다.
UNIX 계열 시스템에서는 일반적으로 소프트웨어 설치에 다음 단계가 선택적으로 포함됩니다.
strip
바이너리 코드 파일에서 불필요한 기호 제거 UNIX 계열 시스템의 일부 소프트웨어는 설치가 필요하지 않으며 실행 파일을 실행하여 바로 사용할 수 있습니다. 예를 들어, 소프트웨어에 필요한 구성 파일과 리소스 파일이 해당 위치에 복사되지 않는 경우 동적 링크 라이브러리를 포함하는 소프트웨어는 동적 링크 라이브러리 캐시를 업데이트해야 하기 때문에 오류가 발생합니다. 방금 컴파일한 동적 링크 라이브러리를 찾을 수 없습니다. 등등. 기다리세요.
伊谢尔伦2017-04-25 09:03:08
공식 README에서 발췌:
으아악기본 구성으로 Redis를 실행하려면 다음을 입력하세요.
마찬가지로
으아악Redis 바이너리를 /usr/local/bin에 설치하려면 다음을 사용하세요.
사용하려면 "make PREFIX=/some/other/directory install"을 사용할 수 있습니다
목적지가 다릅니다.
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
잠시 후에 다음 내용을 알게 될 것입니다.
이 설치는 파일(일반적으로 컴파일된 파일)을 선택한 대상에 복사합니다.
자세한 정보는 직접 알아보세요.