Kako vedeti, katere aplikacije so odvisne od paketa X

Ta kratka mini-vadnica je nastala kot odgovor na zaskrbljenost enega od naših bralcev, Felipeja, ki nam je vprašal: «Kako vem, katere aplikacije uporabljajo Javo?«. No, mislim, da tega ni mogoče vedeti, obstaja pa preprost način kateri paketi (torej kateri programi), navedeni v skladiščih, so odvisni od paketov JAVA. Isto metodo lahko uporabimo za kateri koli drug paket, na primer za ugotavljanje, od katerih aplikacij je odvisno MONO.


Najpogostejša je želja po ugotovitvi, kateri drugi paketi morajo biti nameščeni, da bo paket X dobro deloval. Ti zahtevani paketi se imenujejo odvisnosti in jih je mogoče najti tako:

apt-cache je odvisen od mojega paketa 

Lahko tudi obiščete Synaptic, poiščete paket in to storite z desno miškino tipko kliknite> Lastnosti> Odvisnosti.

Vendar je cilj tega prispevka natančno ugotoviti obratno: kateri paketi imajo paket X kot odvisnost. Z drugimi besedami, v tem primeru poznamo paket "mati" in želimo vedeti, kateri drugi paketi zahtevajo, da ta paket "mati" deluje, da deluje.

Pojdimo na primer, da bomo zadevo bolje razumeli. Poglejmo, kako zaznamo pakete, ki so odvisni od paketa openjdk-6-jre. Se pravi, kako zaznati tiste programe, ki so navedeni v skladiščih, ki so odvisni od JAVA.

Odprl sem terminal in napisal:

apt-cache je odvisno od openjdk-6-jre 

Pojavil se bo dolg seznam paketov, vključno z OpenOffice, FreeMind, OpenCol itd.

Kako najti pravi "materinski" paket?

V redu, zaenkrat tako enostavno, ampak kako naj izvem, kaj je "matični" paket, na podlagi katerega naj iščem? No, to zahteva nekaj strokovnega znanja in predhodne analize.

Recimo, da želim poznati vse aplikacije, ki temeljijo na MONO. V tem primeru sem iskal odvisnosti aplikacije (GBrainy), za katero vem, da uporablja MONO, in na podlagi tega zaznal "matični" paket in poiskal inverzne odvisnosti. Uff, zdi se težko, vendar je nesmisel.

Odprl sem terminal in napisal:

apt-cache odvisen od gbrainy

Rezultati so naslednji:

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

Zdelo se mi je, da bi lahko bil mono-runtime dober kandidat, zato sem se odločil, da poiščem vse pakete, ki so odvisni od mono-runtime:

apt-predpomnilnik rdeča, zažene se mono-runtime

Voila! Prikažejo se vsi paketi, ki uporabljajo MONO.

Če si želite ogledati popoln seznam vseh paketov, ki so odvisni od nekega MONO paketa, bi lahko napisali:

apt-cache rdepends mono *
Opomba: ta metoda deluje samo za tiste programe, ki so navedeni v skladiščih APT.
Hvala Feli!

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Philip Becerra je dejal

    Hvala za odgovor Pablo in hvala za prispevek 🙂

  2.   Saito Mordraw je dejal

    Pablo, ti si moj idol!

    Odlična objava.

  3.   Uporabimo Linux je dejal

    Super! Hvala za podatke!

  4.   kraft je dejal

    Za tiste, ki uporabljamo bruto distribucije ………… šala

    za tiste, ki uporabljajo upravljalnike paketov na osnovi RPM, se uporablja ta ukaz

    rpm -qR paketi

    Primer:

    linux @ dhcppc3: ~> rpm -qR xmms
    / Bin / sh
    / Bin / 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