[linux] 기본 디렉토리가 아닌 설치합니까?

‘make install’을 실행하여 필요한 모든 것을 갖추고 있지만 시스템의 / usr / bin 등과 반대로 자신의 폴더에 물건을 설치하고 싶습니다. 가능합니까? / usr / bin 등의 도구를 참조하더라도?



답변

패키지에 따라 다릅니다. Makefile이 GNU autotools ( ./configure)에 의해 생성되면 일반적으로 다음과 같이 대상 위치를 설정할 수 있습니다.

./configure --prefix=/somewhere/else/than/usr/local

Makefile이 autotools에 의해 생성되지 않고 소프트웨어와 함께 배포되는 경우 편집기에서 열어서 변경하십시오. 설치 대상 디렉토리가 변수에 정의되어있을 수 있습니다.


답변

어떤 버전의 automake를 알지 못하므로 DESTDIR 환경 변수를 사용할 수 있습니다 .
Makefile을 참조하십시오.

예를 들면 다음과 같습니다.

 export DESTDIR="$HOME/Software/LocalInstall" && make -j4 install


답변

make DESTDIR=./new/customized/path install

이 빠른 명령은 Ubuntu 16에서 opencv 릴리스 3.2.0 설치에 효과적이었습니다. DESTDIR 경로는 절대 경로 일 수도 있고 상대 경로 일 수도 있습니다.

이러한 리디렉션은 DESTDIR 위치가 사용자에게 올바른 액세스 권한을 가지고있는 한 사용자에게 관리자 권한이없는 경우에도 유용 할 수 있습니다. 예 : / home //


답변

컴파일하려는 모듈이 지원하는 내용에 따라 달라질 수 있습니다. autotools를 사용하여 makefile이 생성되면 다음을 사용하십시오.

--prefix=<myinstalldir>

./configure를 실행할 때

일부 패키지를 사용하면 다음을 실행할 때 재정의 할 수도 있습니다.

make prefix=<myinstalldir>

그러나 ./configure를 사용하지 않는 경우 확인하는 유일한 방법은 makefile을 열고 확인하는 것입니다. 맨 처음 몇 변수 중 하나 여야합니다.


답변

패키지가 제공하는 경우 다음 Makefile.PL을 사용할 수 있습니다.

perl Makefile.PL PREFIX=/home/my/local/lib LIB=/home/my/local/lib
make
make test
make install

* 추가 설명 : https://www.perlmonks.org/?node_id=564720


답변

위의 솔루션을 시도했습니다. 아무도 효과가 없었습니다.

결국 Makefile 파일을 열고 아래처럼 프리픽스 경로를 원하는 설치 경로로 수동 변경했습니다.

PREFIX ?= "installation path"

–prefix를 시도했을 때 “make”는 그러한 명령 입력이 없다고 불평했습니다. 그러나 일부 패키지는 –prefix를 허용하지만 물론 더 깨끗한 솔루션입니다.


답변

INSTALL_ROOT를 사용해보십시오.

make install INSTALL_ROOT=$INSTALL_DIRECTORY