Kako znati koje aplikacije ovise o X paketu

Ovaj kratki mini tutorial nastaje kao odgovor na zabrinutost jednog od naših čitatelja, Felipea, koji nam je napisao pitajući: «Kako mogu znati koji programi koriste Javu?«. Pa, mislim da ne postoji način da se to sazna, ali postoji jednostavan način da se to sazna koji paketi (odnosno koje aplikacije) navedeni u spremištima ovise o JAVA paketima. Ista se metoda može koristiti za bilo koji drugi paket, na primjer da se sazna o kojim aplikacijama ovisi MONO.


Najčešće je željeti saznati koji drugi paketi moraju biti instalirani da bi paket X mogao dobro funkcionirati. Ti se potrebni paketi nazivaju ovisnostima i mogu se saznati ovako:

apt-cache ovisi o mom paketu 

Također možete otići u Synaptic, pronaći paket, učiniti desni klik na njega> Svojstva> Ovisnosti.

Međutim, cilj ovog posta je otkriti upravo obrnuto: koji paketi imaju X paket kao ovisnost. Drugim riječima, u ovom slučaju poznajemo paket "majka" i želimo znati koji drugi paketi zahtijevaju da ovaj paket "majka" bude instaliran da radi.

Prijeđimo na primjer kako bismo bolje razumjeli stvar. Pogledajmo kako otkriti pakete koji ovise o paketu openjdk-6-jre. Drugim riječima, kako otkriti one programe koji su navedeni u spremištima, a koji ovise o JAVA-i.

Otvorio sam terminal i napisao:

apt-predmemorija rdepends openjdk-6-jre 

Pojavit će se dugačak popis paketa, uključujući OpenOffice, FreeMind, OpenCol itd.

Kako otkriti ispravan "majčin" paket?

U redu, zasad je tako lako, ali kako da saznam što je paket "majka" na temelju kojeg bih trebao pretraživati? Pa, ovo zahtijeva određenu stručnost i prethodnu analizu.

Pretpostavimo da želim znati sve aplikacije temeljene na MONO-u. U tom sam slučaju potražio ovisnosti aplikacije (GBrainy) za koju znam da koristi MONO i na temelju toga otkrio "matični" paket i tražio obrnute ovisnosti. Uff, čini se teško, ali to je glupost.

Otvorio sam terminal i napisao:

apt-cache ovisi o gbrainy

Rezultati su sljedeći:

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

Činilo mi se da bi mono-runtime mogao biti dobar kandidat, pa sam odlučio potražiti sve pakete koji su ovisili o mono-runtime-u:

apt-cache crveno-jednokratno

Voila! Prikazuju se svi paketi koji koriste MONO.

Da bismo vidjeli cjelovit popis svih paketa koji ovise o nekom MONO paketu, mogli smo napisati:

apt-predmemorija crveno se crpi *
Napomena: ova metoda radi samo za one programe koji su navedeni u APT spremištima.
Hvala Feli!

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Philip Becerra dijo

    Hvala na odgovoru Pablu i hvala na postu 🙂

  2.   Saito Mordraw dijo

    Pablo ti si moj idol!

    Izvrsna pošta.

  3.   Koristimo Linux dijo

    Sjajno! Hvala na podacima!

  4.   kraft dijo

    Za nas koji koristimo bruto raspodjelu ………… šala

    za one koji koriste RPM-bazirane upravitelje paketa koristi se ova naredba

    rpm -qR paketi

    primjer:

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