로컬 빌드 구성

로컬 빌드 구성

루트 액세스 권한이 없는 컴퓨터에서 작업하는 사람들의 일반적인 일은 자신이 좋아하는 도구의 작은 모음을 로컬에서 구축하는 것입니다.

작업 흐름은 다음과 같습니다.

tar xvzf fav_tool.tar.xvzf
cd fav_tool
./configure --prefix=$HOME
make install

조금 혼란스러워지는 경향이 있습니다. 와 유사한 bin/, etc/, include, lib/폴더가 홈 폴더에 나타납니다 . source/종속성을 관리해야 하는데 $PATH이를 수행하는 현명한 방법이 있습니까? 로컬에서 패키지를 추적할 수 있는 도구가 있나요?

답변1

조금 혼란스러워지는 경향이 있습니다. bin/, etc/, include, lib/ 및 source/와 같은 폴더가 홈 폴더에 나타납니다.

선택에 따르면 그렇습니다. 깔끔해 보이지 않으면 다음을 사용할 수 있습니다.

./configure --prefix=$HOME/mytools

대신에. 그러면 당신은 필요할 것입니다이것을 $PATH에 추가하세요.또는 $HOME/bin이미 포함되어 있는 경우 현재 포함된 모든 항목을 이동할 수 있습니다 $HOME/mytools/bin.

rm ~/bin
ln -s ~/mytools/bin ~/bin

도구가 콘텐츠를 에 넣는 경우 콘텐츠를 적절한 위치에 설정 ~/mytools/lib해야 합니다 .LD_LIBRARY_PATH

일반적으로 환경 변수를 설정하는 데 사용하는 초기화 파일을 사용하는 경우 이 작업은 한 번만 수행하면 되며 약 1분 정도 걸립니다.

종속성을 관리해야 합니다.

"관리"가 설치 문제 해결을 의미한다면 이것이 주요 목적입니다 ./configure. 작업이 올바르게 수행되지 않으면 타사 도구가 작업을 더 잘 수행할 가능성이 거의 없습니다. 그것가능한, 하지만 그렇게 할 수도 있습니다더 나쁜.

다른 것을 의미한다면 "의존성" 개념에는 실제로 다른 것이 없습니다. 이 문제를 해결하고 종속성을 다운로드하여 설치하는 도구를 원한다면 이것이 일반적인 패키지 관리자의 역할입니다. 하지만 기억하세요미리 빌드된 바이너리를 원하지 않는다고 결정했습니다.. 소스에서 빌드하고 있습니다.

Linux 패키지 관리자가 권한이 없는 사용자에게 대부분 비우호적이거나 쓸모가 없다는 점은 매우 불행한 일이지만 이는 별도의 질문입니다(그리고 배포판에 따라 답변이 다른 별도의 질문입니다).

로컬에서 패키지를 추적할 수 있는 도구가 있나요?

예, 소스 코드 패키지 자체입니다. 빌드할 때 ~/mytools/src빌드 디렉터리를 거기에 두거나 그냥 tarball로 추출할 수 있습니다. 무언가를 제거하려면 관련 디렉터리로 이동하고(필요한 경우 다시 압축을 푼다) make uninstall.

시스템은 src어떤 목적으로도 이 디렉토리를 사용하지 않습니다. 여기에는 넣은 내용만 포함되므로 다운로드한 내용을 삭제하지 않는 한 실제로 모든 것을 빌드하는 데 사용되는 소스가 포함된 로컬로 설치된 소스 빌드 소프트웨어의 깔끔한 목록이 있습니다.

관련 정보