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!

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   펠리페 베 세라

    Pablo에게 답변 해 주셔서 감사하고 게시물에 감사드립니다 🙂

  2.   사이토 모르 드라 우그

    Pablo 넌 내 우상이야!

    훌륭한 게시물입니다.

  3.   Linux를 사용합시다

    큰! 데이터 감사합니다!

  4.   크라 프티

    총 분포를 사용하는 사람들을 위해 ………… 농담

    RPM 기반 패키지 관리자를 사용하는 경우이 명령이 사용됩니다.

    rpm -qR 패키지

    예 :

    리눅스 @ dhcppc3 : ~> rpm -qR xmms
    / 빈 / SH
    / 빈 / SH
    rpmlib (PayloadFilesHavePrefix) <= 4.0-1
    rpmlib (CompressedFileNames) <= 3.0.4-1
    libICE.so.6
    libSM.so.6
    libX11.so.6
    libXxf86vm.so.1
    libc.so.6
    libc.so.6 (GLIBC_2.0)
    libc.so.6 (GLIBC_2.1)
    libc.so.6 (GLIBC_2.3)
    libc.so.6 (GLIBC_2.3.4)
    libc.so.6 (GLIBC_2.4)
    libc.so.6 (GLIBC_2.7)
    libdl.so.2
    libdl.so.2 (GLIBC_2.0)
    libdl.so.2 (GLIBC_2.1)
    libgdk-1.2.so.0
    libglib-1.2.so.0
    libgthread-1.2.so.0
    libgtk-1.2.so.0
    libpthread.so.0
    libpthread.so.0 (GLIBC_2.0)
    libpthread.so.0 (GLIBC_2.1)
    libpthread.so.0 (GLIBC_2.3.2)
    libxmms.so.1
    rpmlib (PayloadIsLzma) <= 4.4.6-1