X 패키지에 의존하는 응용 프로그램을 아는 방법

이 짧은 미니 자습서는 다음과 같이 나타납니다. 독자 중 한 명인 Felipe의 우려에 대한 응답, 누가 우리에게 질문 :«Java를 사용하는 응용 프로그램을 어떻게 알 수 있습니까?«. 글쎄요, 그걸 알 수있는 방법은 없다고 생각 합니다만, 알 수있는 간단한 방법이 있습니다 저장소에 나열된 패키지 (즉, 애플리케이션)는 JAVA 패키지에 종속됩니다.. 다른 패키지에도 동일한 방법을 사용할 수 있습니다. 모노.


가장 일반적인 방법은 패키지 X가 제대로 작동하기 위해 설치해야하는 다른 패키지를 찾는 것입니다. 이러한 필수 패키지를 종속성이라고하며 다음과 같이 찾을 수 있습니다.

apt-cache는 내 패키지에 따라 다릅니다. 

Synaptic으로 이동하여 패키지를 찾고 그것을 마우스 오른쪽 버튼으로 클릭> 속성> 종속성.

그러나이 게시물의 목적은 X 패키지를 종속성으로 갖는 패키지를 정확히 찾아내는 것입니다. 다시 말해,이 경우 우리는 "어머니"패키지를 알고 있으며이 "어머니"패키지가 작동하기 위해 설치되어야하는 다른 패키지가 무엇인지 알고 싶습니다.

문제를 더 잘 이해하기 위해 예제로 이동하겠습니다. openjdk-6-jre 패키지에 의존하는 패키지를 감지하는 방법을 살펴 보겠습니다. 즉, JAVA에 의존하는 저장소에 나열된 애플리케이션을 감지하는 방법입니다.

터미널을 열고 다음과 같이 썼습니다.

apt-cache는 openjdk-6-jre를 rdepends 

OpenOffice, FreeMind, OpenCol 등을 포함한 긴 패키지 목록이 나타납니다.

올바른 "어머니"패키지를 찾는 방법은 무엇입니까?

좋아, 지금까지는 쉽지만 검색해야 할 "어머니"패키지가 무엇인지 어떻게 알 수 있습니까? 글쎄, 이것은 약간의 전문 지식과 사전 분석이 필요합니다.

모든 MONO 기반 응용 프로그램을 알고 싶다고 가정합니다. 이 경우 내가 한 일은 내가 알고있는 MONO를 사용하는 애플리케이션 (GBrainy)의 종속성을 찾고이를 기반으로 "어머니"패키지를 감지하고 역 종속성을 찾는 것이 었습니다. 어려워 보이지만 말도 안돼요.

터미널을 열고 다음과 같이 썼습니다.

apt-cache는 gbrainy에 따라 다릅니다.

결과는 다음과 같습니다.

  다름 : 모노 런타임
 | 의존 : libc6
 | 의존 : libc6.1
  의존 : libc0.1
  종속 항목 : libglib2.0-cil
  의존 : libgtk2.0-0
  종속 항목 : libgtk2.0-cil
  종속 항목 : liblaunchpad-integration1.0-cil
  종속 항목 : libmono-addins-gui0.2-cil
  종속 항목 : libmono-addins0.2-cil
  종속 항목 : libmono-cairo2.0-cil
  종속 항목 : libmono-corlib2.0-cil
  종속 항목 : libmono-posix2.0-cil
  종속 항목 : libmono-system2.0-cil
  의존 : librsvg2-2
  의존성 : 모노-크 샤프-쉘

모노 런타임이 좋은 후보가 될 수있는 것 같았 기 때문에 모노 런타임에 의존하는 모든 패키지를 검색하기로 결정했습니다.

apt-cache는 모노 런타임을 rdepends

짜잔! MONO를 사용하는 모든 패키지가 나타납니다.

일부 MONO 패키지에 의존하는 모든 패키지의 전체 목록을 보려면 다음과 같이 작성할 수 있습니다.

apt-cache는 모노를 rdepends *
참고 :이 방법은 APT 리포지토리에 나열된 애플리케이션에만 적용됩니다.
감사합니다 Feli!