소스에서 빌드하는 올바른 방법


12

일반 사용자로 로그인했습니다. 내가 사용해야합니까 :

./configure && make && make install

또는

sudo ./configure && sudo make && sudo make install

또는

./configure && make && sudo make install

패키지를 설치할 때.

그리고 누군가 차이점을 설명 할 수 있습니까?

모든 사용자가 사용할 수 있기를 바랍니다.



1
우분투 리포지토리 또는 PPA에서 소프트웨어를 설치해야합니다. 아직 패키지화되지 않은 무언가에 부딪쳤다면 자유롭게 PPA를 시작하는 것을 고려하십시오. 이렇게하면 시스템을 깨끗하게 유지하고 다른 사람들에게도 패키지를 제공하며 무료 보너스로 인해 더 많은 테스터를 얻을 수 있습니다.
vtest

답변:


15

세 번째 버전이 맞습니다 ./configure && make && sudo make install. 시스템 디렉토리에 파일을 쓰려고하지 않고 make install보통 바이너리 사용자를 쓰기 위해 루트 액세스가 필요한 / usr / bin 또는 / bin에 바이너리를 복사하려고하기 때문에 make 및 구성을 일반 사용자로 수행 할 수 있습니다 .


... 내용은 패키지 관리로 관리되므로 작성해서는 안됩니다.
reinierpost

2
사용자를 작성 local하고을 발행 한 chown -R local /usr/local다음 소프트웨어를 사용하여 sudo local make install패키지를 작성하여 패키지가 아닌 다른 곳에서 쓸 때 /usr/local(패키지 관리를 망칠 수 있음) 경고 할 수 있습니다.
reinierpost

gnu 코딩 표준에 따라 패키지가 빌드 된 경우 원시 'configure && make && sudo make install'은 / usr / bin 또는 / bin이 아닌 / usr / local에만 설치됩니다.
William Pursell

4

마지막 버전이 필요합니다.

./configure && make && sudo make install

로컬 폴더에서 구성 및 작성이 가능하지만 설치하려면 루트 권한이 필요합니다. 그 명령은 그것을 달성합니다.

설치중인 응용 프로그램이 패키지 관리자에 없는지 확인하십시오. 일반적으로 무언가를 컴파일하기위한 모든 종속성을 찾는 것보다 시스템에서 사전 컴파일 된 소프트웨어를 사용하는 것이 훨씬 쉽습니다.


2

작동하는 최소 권한을 사용해야합니다. 일반적으로 다음과 같습니다.

./configure && make && sudo make install


2

&&는 원래 쉘에 의해 구문 분석됩니다. 하나의 sudo를 앞에두면 구성에만 영향을줍니다. 마지막 옵션은 일반 사용자로 구성 및 컴파일 한 다음 모든 사용자가 사용할 수 있도록 결과를 설치하므로 가장 적합합니다.

한 가지주의 할 점은 일부 구성 스크립트가 루트가 아닌 사용자로 실행되고 있음을 감지하고 $ HOME 또는 이와 유사한 설치 파일을 만드는 make 파일을 생성한다는 것입니다. 이 경우 'sudo ./configure'도 원합니다. configure 또는 make as root를 실행하면 일반 사용자 디렉토리에 일부 루트 소유 파일이 생길 수 있습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.