데비안 또는 우분투에서 주어진 패키지의 의존성 만 설치하십시오 (apt) (또는 다른 dpkg의

apt-get (또는 다른 dpkg의 다른 프론트 엔드)을 사용하여 패키지를 직접 설치 한 다음 즉시 제거하고 종속성을 제거하지 않고 패키지의 필수 종속성 만 설치하는 더 좋은 방법이 있습니까?



답변

apt-cache depends pkgname 패키지의 종속성을 보여줍니다.

하나의 명령으로 모두 원한다면 다음보다 더 나쁠 수 있습니다.

apt-get install `apt-cache depends pkgname | awk '/Depends:/{print$2}'`

답변

apt-get은 정확히 그 명령을 제공합니다 …

apt-get build-dep <package name>

당신이 얻는 맨 페이지에서

build-dep는 apt-get이 소스 패키지의 빌드 종속성을 충족 시키려고 패키지를 설치 / 제거하도록합니다. 기본적으로 종속성은 기본적으로 패키지를 빌드하기 위해 충족됩니다. 원하는 경우 –host-architecture 옵션을 사용하여 호스트 아키텍처를 지정할 수 있습니다.


답변

aptitude를 사용하면 설치시 패키지 이름 대신 쿼리를 지정할 수 있습니다. 이라는 패키지의 종속성을 설치하려면 다음과 foo반대로 종속성이있는 패키지를 설치할 수 있습니다 foo.

aptitude install '?reverse-depends(foo)'

또는

aptitude install '~Rfoo'

패키지를 설치 한 다음 제거 할 때의 문제점은 종속성으로 설치되는 모든 패키지가 “자동으로 설치됨”으로 표시되며 적시에 의해 또는 설치 apt-get autoclean하지 않은 경우 설치 / 제거 / 업그레이드 작업에 의해 제거되거나 aptitude mark또는 apt-mark명령을 사용하여 수동으로 설치 한 것으로 표시 하십시오 .

그러나 이것은 왜 당신이 이것을하고 싶은지에 대한 의문을 제기합니다. 내 최선의 추측은 당신이 직접 컴파일 할 일부 소프트웨어에 대한 종속성을 설치하려고한다는 것입니다. 이 경우 먼저 빌드 종속성을 설치 apt-get build-dep packagename하지만 equiv패키지를 사용하여 올바른 종속성이있는 더미 패키지를 빌드 하여 런타임 종속성이있는 더미 패키지를 작성해야합니다 (일반적으로 빌드 종속성과 다름). 수동으로 컴파일 한 프로그램 에 대한 정보를 볼 수 equivsAPT는 HOWTO