Kā uzzināt, kuras lietojumprogrammas ir atkarīgas no X pakotnes

Šī īsa mini apmācība parādās kā atbilde uz viena no mūsu lasītāju Felipe bažām, kurš mums rakstīja un jautāja: «Kā es varu zināt, kuras lietojumprogrammas izmanto Java?«. Es nedomāju, ka ir veids, kā to uzzināt, bet ir vienkāršs veids, kā to zināt kuras krātuvēs norādītās paketes (tas ir, kuras lietojumprogrammas) ir atkarīgas no JAVA pakotnēm. To pašu metodi var izmantot jebkurai citai pakotnei, piemēram, lai uzzinātu, kuras lietojumprogrammas ir atkarīgas MONO.


Visizplatītākā ir vēlme uzzināt, kādas citas pakotnes ir jāinstalē, lai X pakete darbotos labi. Šīs nepieciešamās paketes sauc par atkarībām, un tās var uzzināt šādi:

apt-cache ir atkarīgs no manu paketes 

Varat arī doties uz Synaptic, atrast paketi, darīt ar peles labo pogu noklikšķiniet uz tā> Rekvizīti> Atkarības.

Tomēr šī ziņojuma mērķis ir precīzi uzzināt otrādi: kurām paketēm ir X pakete kā atkarība. Citiem vārdiem sakot, šajā gadījumā mēs zinām paketi "māte" un vēlamies uzzināt, kādas citas paketes prasa, lai šī "mātes" pakete darbotos.

Pārejam pie piemēra, lai labāk izprastu lietu. Apskatīsim, kā noteikt paketes, kas ir atkarīgas no openjdk-6-jre pakotnes. Citiem vārdiem sakot, kā noteikt tās krātuvēs uzskaitītās lietojumprogrammas, kas ir atkarīgas no JAVA.

Es atvēru termināli un uzrakstīju:

apt-cache rdependents openjdk-6-jre 

Parādīsies garš paku saraksts, tostarp OpenOffice, FreeMind, OpenCol utt.

Kā atrast pareizo "mātes" paketi?

Labi, līdz šim tik viegli, bet kā es varu uzzināt, kas ir "mātes" pakete, uz kuras pamata man vajadzētu meklēt? Nu, tas prasa zināmas zināšanas un iepriekšēju analīzi.

Pieņemsim, ka es vēlos uzzināt visas lietojumprogrammas, kuru pamatā ir MONO. Tādā gadījumā es meklēju lietojumprogrammas (GBrainy) atkarības, kuras, kā es zinu, izmanto MONO, un, pamatojoties uz to, atklāju paketi "māte" un meklētu apgrieztās atkarības. Uff, tas šķiet grūti, bet tas ir absurds.

Es atvēru termināli un uzrakstīju:

apt-cache ir atkarīgs no gbrainy

Rezultāti ir šādi:

  Atkarīgs: mono-izpildlaiks
 | Atkarīgs: libc6
 | Atkarīgs: libc6.1
  Atkarīgs: libc0.1
  Atkarīgs: libglib2.0-cil
  Atkarīgs: libgtk2.0-0
  Atkarīgs: libgtk2.0-cil
  Atkarīgs no: liblaunchpad -integration1.0-cil
  Atkarīgs: libmono-addins-gui0.2-cil
  Atkarīgs: libmono-addins0.2-cil
  Atkarīgs: libmono-cairo2.0-cil
  Atkarīgs: libmono-corlib2.0-cil
  Atkarīgs: libmono-posix2.0-cil
  Atkarīgs no: libmono-system2.0-cil
  Atkarīgs: librsvg2-2
  Atkarīgs: mono-csharp-apvalks

Man šķita, ka mono-runtime varētu būt labs kandidāts, tāpēc es nolēmu meklēt visus paketus, kas bija atkarīgi no mono -untime:

apt-cache rdependo mono izpildlaiku

Voila! Parādās visas paketes, kurās tiek izmantots MONO.

Lai redzētu visu to pakotņu sarakstu, kuras ir atkarīgas no kāda MONO pakotnes, mēs varētu būt uzrakstījuši:

apt-cache rdepends mono *
Piezīme: šī metode darbojas tikai tām lietojumprogrammām, kuras ir norādītas APT krātuvēs.
Paldies Feli!

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Filips Becerra teica

    Paldies, ka atbildējāt uz Pablo, un paldies par ierakstu 🙂

  2.   Saito Mordraugs teica

    Pablo tu esi mans elks!

    Izcils amats.

  3.   Izmantosim Linux teica

    Lieliski! Paldies par datiem!

  4.   kraftisks teica

    Tiem no mums, kuri izmanto bruto sadali ... joks

    tiem, kas izmanto RPM pakotņu pārvaldniekus, tiek izmantota šī komanda

    rpm -qR paketes

    piemērs:

    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