Cum să știți ce aplicații depind de pachetul X

Acest scurt mini-tutorial apare ca răspuns la îngrijorarea unuia dintre cititorii noștri, Felipe, care ne-a scris întrebând: «Cum pot să știu ce aplicații utilizează Java?«. Ei bine, nu cred că există o modalitate de a ști asta, dar există o modalitate simplă de a ști ce pachete (adică ce aplicații) enumerate în depozite depind de pachetele JAVA. Aceeași metodă poate fi utilizată pentru orice alt pachet, de exemplu pentru a afla de ce aplicații depinde MONO.


Cel mai frecvent este să doriți să aflați ce alte pachete trebuie instalate pentru ca pachetul X să funcționeze bine. Aceste pachete necesare sunt numite dependențe și pot fi găsite astfel:

apt-cache depinde de pachetul meu 

De asemenea, puteți merge la Synaptic, găsiți pachetul, faceți faceți clic dreapta pe el> Proprietăți> Dependențe.

Cu toate acestea, obiectivul acestui post este de a afla exact invers: ce pachete au pachetul X ca dependență. Cu alte cuvinte, în acest caz știm pachetul „mamă” și vrem să știm ce alte pachete necesită ca acest pachet „mamă” să fie instalat pentru a funcționa.

Să trecem la exemplu pentru a înțelege mai bine problema. Să vedem cum să detectăm pachetele care depind de pachetul openjdk-6-jre. Adică, cum să detectați acele aplicații listate în depozite, care depind de JAVA.

Am deschis un terminal și am scris:

apt-cache rdepends openjdk-6-jre 

Va apărea o listă lungă de pachete, inclusiv OpenOffice, FreeMind, OpenCol etc.

Cum se găsește pachetul „mamă” corect?

OK, până acum atât de ușor, dar cum să aflu care este pachetul „mamă” pe baza căruia ar trebui să caut? Ei bine, acest lucru necesită o anumită expertiză și o analiză prealabilă.

Să presupunem că vreau să știu toate aplicațiile bazate pe MONO. În acest caz, ceea ce am făcut a fost să caut dependențele unei aplicații (GBrainy) despre care știu că folosește MONO și, pe baza asta, detectează pachetul „mamă” și caută dependențele inverse. Uff, pare dificil, dar este o prostie.

Am deschis un terminal și am scris:

apt-cache depinde de gbrainy

Rezultatele sunt următoarele:

  Depinde: mono-runtime
 | Depinde: libc6
 | Depinde: libc6.1
  Depinde: libc0.1
  Depinde: libglib2.0-cil
  Depinde: libgtk2.0-0
  Depinde: libgtk2.0-cil
  Depinde: liblaunchpad-integration1.0-cil
  Depinde: libmono-addins-gui0.2-cil
  Depinde: libmono-addins0.2-cil
  Depinde: libmono-cairo2.0-cil
  Depinde: libmono-corlib2.0-cil
  Depinde: libmono-posix2.0-cil
  Depinde: libmono-system2.0-cil
  Depinde: librsvg2-2
  Depinde: mono-csharp-shell

Mi s-a părut că mono-runtime-ul ar putea fi un bun candidat, așa că am decis să caut toate pachetele care depindeau de mono-runtime:

apt-cache depinde de mono-runtime

Voila! Apar toate pachetele care utilizează MONO.

Pentru a vedea o listă completă a tuturor pachetelor care depind de un pachet MONO, am fi putut scrie:

apt-cache depinde mono *
Notă: această metodă funcționează numai pentru acele aplicații care sunt listate în depozitele APT.
Mulțumesc Feli!

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Philip Becerra el a spus

    Mulțumesc că i-ai răspuns lui Pablo și mulțumesc pentru postare 🙂

  2.   Saito Mordraw el a spus

    Pablo ești idolul meu!

    Post excelent.

  3.   Să folosim Linux el a spus

    Grozav! Mulțumim pentru date!

  4.   greoi el a spus

    Pentru cei dintre noi care folosim distribuții brute ………… glumă

    pentru cei care utilizează administratori de pachete bazate pe RPM, această comandă este utilizată

    pachetele rpm -qR

    Exemplu:

    linux @ dhcppc3: ~> rpm -qR xmms
    / Bin / sh
    / Bin / sh
    rpmlib (PayloadFilesHavePrefix) <= 4.0-1
    rpmlib (CompressedFileNames) <= 3.0.4-1
    libICE.deci.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