Linux(Debian) 경력 중 처음으로 소프트웨어를 직접 컴파일해야 하는 것처럼 보였습니다.
컴파일 과정은 프로젝트 웹사이트에 자세히 설명되어 있습니다. 그러나 내가 이해하지 못하는 한 가지 사항이 있어 시작하는 데 방해가 됩니다.
나는 패키지 관리(APT)를 깨끗하고 깔끔하게 유지하고 싶습니다. 이 프로젝트를 컴파일하려면 일단 컴파일을 마친 후에는 필요하지 않을 수 있는 많은 패키지(대부분 *-dev 버전)를 다운로드해야 합니다.
나중에 *-dev 패키지를 보관하고 싶지 않습니다.
그래서 컴파일 중에 이러한 패키지를 임시로 설치한 다음 (각 패키지 이름을 기억할 필요 없이) 한 번에 모두 제거할 수 있는 실용적인 방법이 있는지 궁금했습니다.
답변1
패키지가 데비안 저장소 어딘가에 있으면 이를 사용하여 build-dep
빌드 종속성을 설치하고 "자동으로" 설치된 것으로 표시할 수 있습니다. 그런 다음 이를 사용하여 autoremove
이러한 빌드 종속성을 정리할 수 있습니다 .
apt-get build-dep -o APT::Get::Build-Dep-Automatic=true WhatImBuilding
apt-get autoremove
이 기술은 빌드 중인 항목이 어딘가에 빌드 deps가 있는 deb 패키지를 아직 포함하지 않은 경우 작동하지 않습니다. 그러나 이러한 유형의 지원을 추가하는 데비안 기능 제안이 있습니다:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745769
관리하는 로컬 저장소에 빌드하는 모든 항목에 대해 가짜 패키지를 정의하고 거기에서 빌드 종속성을 정의하여 위의 접근 방식이 작동하도록 할 수 있을 것 같습니다. 하지만 약간 인위적입니다. /var/lib/apt/extended_states
설치하려는 패키지를 "자동"으로 표시하여 자격을 갖추도록 파일을 수동으로 편집할 수도 있지만 autoremove
이는 위험할 수 있습니다.