Kuinka tietää, mitkä sovellukset riippuvat X-paketista

Tämä lyhyt mini-opetusohjelma ilmestyy nimellä vastaus yhden lukijamme Felipen huoleen, joka kirjoitti meille ja kysyi: «Mistä tiedän, mitkä sovellukset käyttävät Java-ohjelmaa?«. En usko, että on olemassa tapa tietää se, mutta on yksinkertainen tapa tietää mitkä arkistoissa luetellut paketit (eli mitkä sovellukset) riippuvat JAVA-paketeista. Samaa menetelmää voidaan käyttää mihin tahansa muuhun pakettiin, esimerkiksi selvittääksesi, mitkä sovellukset riippuvat MONO.


Yleisin on halu selvittää, mitkä muut paketit on asennettava, jotta paketti X toimisi hyvin. Näitä vaadittuja paketteja kutsutaan riippuvuuksiksi, ja ne voidaan selvittää näin:

apt-cache riippuu minun paketistani 

Voit myös mennä Synapticiin, etsiä paketin, tehdä napsauta sitä hiiren kakkospainikkeella> Ominaisuudet> Riippuvuudet.

Tämän viestin tavoitteena on kuitenkin selvittää tarkalleen päinvastainen: mitkä paketit ovat X-paketteja riippuvuuksina. Toisin sanoen, tässä tapauksessa tunnemme "äiti" -paketin ja haluamme tietää, mitä muut paketit vaativat, että tämä "äiti" -paketti asennetaan toimimaan.

Siirrytään eteenpäin esimerkin ymmärtämiseksi paremmin. Katsotaanpa, kuinka tunnistaa paketit, jotka riippuvat openjdk-6-jre-paketista. Eli kuinka tunnistaa ne arkistoissa luetellut sovellukset, jotka riippuvat JAVA: sta.

Avasin terminaalin ja kirjoitin:

apt-cache rdependends openjdk-6-jre 

Näkyviin tulee pitkä luettelo paketeista, kuten OpenOffice, FreeMind, OpenCol jne.

Kuinka löytää oikea "äiti" -paketti?

OK, toistaiseksi niin helppoa, mutta miten saan selville, mikä on "äiti" -paketti, jonka perusteella minun pitäisi etsiä? No, tämä vaatii jonkin verran asiantuntemusta ja ennakkoanalyysiä.

Oletetaan, että haluan tietää kaikki MONO-pohjaiset sovellukset. Tällöin etsin sovelluksen riippuvuuksia (GBrainy), jonka tiedän käyttävän MONO: ta, ja sen perusteella havaitsen "äiti" -paketin ja etsin käänteisiä riippuvuuksia. Uff, se näyttää vaikealta, mutta se on hölynpölyä.

Avasin terminaalin ja kirjoitin:

apt-cache riippuu gbrainy

Tulokset ovat seuraavat:

  Riippuu: mono-ajonaika
 | Riippuu: libc6
 | Riippuu: libc6.1
  Riippuu: libc0.1
  Riippuu: libglib2.0-cil
  Riippuu: libgtk2.0-0
  Riippuu: libgtk2.0-cil
  Riippuu: liblaunchpad -integraatio1.0-cil
  Riippuu: libmono-addins-gui0.2-cil
  Riippuu: libmono-addiinit 0.2-cil
  Riippuu: libmono-cairo2.0-cil
  Riippuu: libmono-corlib2.0-cil
  Riippuu: libmono-posix2.0-cil
  Riippuu: libmono-system2.0-cil
  Riippuu: librsvg2-2
  Riippuu: mono-csharp-kuori

Minusta tuntui, että mono-ajonaika voisi olla hyvä ehdokas, joten päätin etsiä kaikki paketit, jotka riippuivat mono-ajonajasta:

apt-cache rdependoi yhden ajon

Voila! Kaikki MONOa käyttävät paketit tulevat näkyviin.

Jos haluat nähdä täydellisen luettelon kaikista paketeista, jotka riippuvat jostakin MONO-paketista, olisimme voineet kirjoittaa:

apt-cache rdepends mono *

Huomaa: tämä menetelmä toimii vain APT-arkistoissa luetelluille sovelluksille.

Kiitos Feli!

Artikkelin sisältö noudattaa periaatteita toimituksellinen etiikka. Ilmoita virheestä napsauttamalla täällä.

4 kommenttia, jätä omasi

Jätä kommentti

Sähköpostiosoitettasi ei julkaista.

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Philip Becerra dijo

    Kiitos vastauksesta Pabloon ja kiitos viestistä 🙂

  2.   Saito Mordraw dijo

    Pablo olet minun idoli!

    Erinomainen viesti.

  3.   Käytetään Linuxia dijo

    Loistava! Kiitos tiedoista!

  4.   voimakas dijo

    Niille meistä, jotka käyttävät bruttojakaumaa… vitsi

    RPM-pohjaisia ​​pakettien hallintaohjelmia käyttäville käytetään tätä komentoa

    rpm -qR-paketit

    esimerkiksi:

    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 (hyötykuormaIsLzma) <= 4.4.6-1

bool (tosi)