특정 데비안 패키지에 대해 가장 가까운 최상위 권장 패키지 찾기

특정 데비안 패키지에 대해 가장 가까운 최상위 권장 패키지 찾기

라이브 CD를 만드는 중인데 CD 이미지의 크기를 줄이려면 일부 패키지 없이 작업해야 합니다. 기본적으로 권장 패키지가 설치되고 스위치를 끄면 CD가 필요하지 않은 정크로 가득 차서(Python QT 프로그램을 번들로 묶고 있는데 QT4 디자이너가 필요한 이유는 무엇입니까?) 거의 사용할 수 없게 됩니다.

이상적인 것은 패키지 목록을 입력으로 사용하고 다음과 같이 종속성 그래프를 크롤링하는 도구입니다.오직"의존" 링크는 있지만 찾은 "권장" 링크를 인쇄하여 도구에 입력한 패키지를 기반으로 설치될 권장 패키지의 "최상위"를 효과적으로 표시합니다. 이렇게 하면 어떤 패키지를 포함해야 할지 결정하는 데 도움이 되며 더 이상 필요한 패키지가 없을 때까지 해당 패키지 세트에서 도구를 다시 실행할 수 있습니다.

같은 다른 도구는 apt-cache depends모든 것을 덤프하며 "Recommends"를 grep하면 권장 패키지도 권장하는 패키지가 표시되지만 원하지 않습니다.

예를 들어, 다음과 같은 경우:

  • A는 B에 의존하고,
  • B가 C를 추천하고,
  • C는 D에 의존하고,
  • D는 E를 추천합니다.

패키지 A에 대해 이 가상 도구에 요청하면 출력으로 패키지 C만 제공하기를 원할 것입니다. 아직 C를 원하는지조차 모르기 때문에 E가 포함되는 것을 원하지 않을 것입니다.

그러한 도구가 있습니까? 아니면 기존 도구를 사용하여 이 작업을 수행할 수 있는 다소 간단한 방법이 있습니까?

답변1

나는 그 apt-rdepends도구가 정확히 당신이 원하는 것이라고 생각합니다. apt-get을 통해 패키지를 설치한 후 다음을 실행합니다(예제에서 사용 중인 패키지 "apt"를 패키지 "A"로 대체).

apt-rdepends --follow=Depends --show=Recommends apt 2>/dev/null | grep Recommends
  Recommends: gnupg
  Recommends: libc6-i686
  Recommends: gnupg-curl
  Recommends: libldap-2.4-2 (>= 2.4.7)

생략하면 grep"권장" 링크가 있는 패키지도 표시됩니다. 이는 매우 간단하고 요구 사항과 정확히 일치하지만 한 가지 가능한 문제는 다음과 같습니다. 언제 중지할지 알 수 없습니다. apt-rdepends즉, 임의의 재귀 수준에 대한 "의존" 링크를 따라갑니다.

명령줄 옵션에 대해 자세히 알아보려면 매뉴얼 페이지를 읽어보세요. 정말 유용한 도구입니다. 역의존 검색도 수행할 수 있습니다!

관련 정보