See lühike miniõpetus ilmub vastus ühe meie lugeja Felipe murele, kes kirjutas meile ja küsis: «Kuidas ma saan teada, millised rakendused Java-d kasutavad?«. Noh, ma arvan, et seda ei ole võimalik teada, kuid teada on lihtne viis millised paketid (st millised rakendused), mis on hoidlates loetletud, sõltuvad JAVA pakettidest. Sama meetodit saab kasutada mis tahes muu paketi puhul, näiteks selleks, et teada saada, millised rakendused sõltuvad MONO. |
Kõige tavalisem on soov teada saada, millised muud paketid tuleb installida, et pakett X hästi töötaks. Neid nõutavaid pakette nimetatakse sõltuvusteks ja nende leiate järgmiselt:
apt-cache sõltub minu paketist
Võite minna ka Synapticu, leida paketi, teha paremklõpsake seda> Atribuudid> Sõltuvused.
Selle postituse eesmärk on siiski täpselt välja selgitada vastupidine: milliste pakettide sõltuvus on X-pakett. Teisisõnu, sel juhul me teame paketti "ema" ja tahame teada, millised muud paketid nõuavad selle "ema" paketi töötamist.
Liigume näite juurde, et asjast paremini aru saada. Vaatame, kuidas avada paketid, mis sõltuvad paketist openjdk-6-jre. Teisisõnu, kuidas tuvastada neid hoidlates loetletud rakendusi, mis sõltuvad JAVA-st.
Avasin terminali ja kirjutasin:
apt-vahemälu rdependends openjdk-6-jre
Ilmub pikk nimekiri pakettidest, sealhulgas OpenOffice, FreeMind, OpenCol jne.
Kuidas leida õige "ema" pakett?
OK, siiani nii lihtne, aga kuidas ma saan teada, mis on see "ema" pakett, mille põhjal peaksin otsima? Noh, see nõuab mõningaid teadmisi ja eelnevat analüüsi.
Oletame, et tahan teada kõiki MONO-põhiseid rakendusi. Sel juhul otsisin üles rakenduse (GBrainy) sõltuvused, mis minu teada kasutab MONO-d ja selle põhjal tuvastasin paketi "ema" ja otsisin pöördvõrdelisi sõltuvusi. Uff, see tundub keeruline, kuid see on jama.
Avasin terminali ja kirjutasin:
apt-cache sõltub gbrainy'st
Tulemused on järgmised:
Sõltub: mono-runtime
| Sõltub: libc6
| Sõltub: libc6.1
Sõltub: libc0.1
Sõltub: libglib2.0-cil
Sõltub: libgtk2.0-0
Sõltub: libgtk2.0-cil
Sõltub: liblaunchpad-integratsioon1.0-cil
Sõltub: libmono-addins-gui0.2-cil
Sõltub: libmono-addiinid 0.2-tsil
Sõltub: libmono-cairo2.0-cil
Sõltub: libmono-corlib2.0-cil
Sõltub: libmono-posix2.0-cil
Sõltub: libmono-süsteem2.0-cil
Sõltub: librsvg2-2
Sõltub: mono-csharp-kest
Mulle tundus, et mono-runtime võiks olla hea kandidaat, nii et ma otsustasin otsida kõik paketid, mis sõltusid mono-runtime'ist:
apt-cache rdepildub mono-käituse ajast
Voila! Ilmuvad kõik paketid, mis kasutavad MONO-d.
Kõigi MONO-pakettidest sõltuvate pakettide täieliku loendi nägemiseks oleksime võinud kirjutada:
apt-cache rdepoes mono *
Täname Pablole vastamise eest ja aitäh postituse eest 🙂
Pablo, sa oled mu iidol!
Suurepärane postitus.
Suurepärane! Täname andmete eest!
Neile meist, kes kasutavad brutojaotusi ... nalja
RPM-põhiste pakettihaldurite kasutajatele kasutatakse seda käsku
rpm -qR paketid
Näide:
linux @ dhcppc3: ~> p / min -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