Dieses kurze Mini-Tutorial erscheint als Antwort auf die Besorgnis eines unserer Leser, Felipe, der uns schrieb und fragte: «Wie kann ich wissen, welche Anwendungen Java verwenden?«. Ich glaube nicht, dass es einen Weg gibt, das zu wissen, aber es gibt einen einfachen Weg, das zu wissen Welche Pakete (dh welche Anwendungen) in den Repositorys aufgeführt sind, hängt von den JAVA-Paketen ab. Dieselbe Methode kann für jedes andere Paket verwendet werden, um beispielsweise herauszufinden, von welchen Anwendungen sie abhängen MONO. |
Am häufigsten möchten Sie herausfinden, welche anderen Pakete installiert werden müssen, damit Paket X ordnungsgemäß funktioniert. Diese erforderlichen Pakete werden als Abhängigkeiten bezeichnet und können wie folgt ermittelt werden:
apt-cache hängt von mypackage ab
Sie können auch zu Synaptic gehen, das Paket finden, tun Klicken Sie mit der rechten Maustaste darauf> Eigenschaften> Abhängigkeiten.
Das Ziel dieses Beitrags ist es jedoch, genau das Gegenteil herauszufinden: Welche Pakete haben das X-Paket als Abhängigkeit. Mit anderen Worten, in diesem Fall kennen wir das "Mutter" -Paket und möchten wissen, welche anderen Pakete erfordern, dass dieses "Mutter" -Paket installiert wird, damit es funktioniert.
Fahren wir mit dem Beispiel fort, um die Angelegenheit besser zu verstehen. Mal sehen, wie man Pakete erkennt, die vom openjdk-6-jre-Paket abhängen. So erkennen Sie die in den Repositorys aufgeführten Anwendungen, die von JAVA abhängen.
Ich öffnete ein Terminal und schrieb:
apt-cache hängt von openjdk-6-jre ab
Eine lange Liste von Paketen wird angezeigt, einschließlich OpenOffice, FreeMind, OpenCol usw.
Wie finde ich das richtige "Mutter" -Paket?
OK, soweit so einfach, aber wie finde ich heraus, auf welchem "Mutter" -Paket ich suchen soll? Nun, dies erfordert etwas Fachwissen und vorherige Analyse.
Angenommen, ich möchte alle MONO-basierten Anwendungen kennen. In diesem Fall habe ich nach den Abhängigkeiten einer Anwendung (GBrainy) gesucht, von der ich weiß, dass sie MONO verwendet, und auf dieser Grundlage das "Mutter" -Paket erkannt und nach den inversen Abhängigkeiten gesucht. Uff, es scheint schwierig, aber es ist Unsinn.
Ich öffnete ein Terminal und schrieb:
apt-cache hängt von gbrainy ab
Die Ergebnisse sind folgende:
Kommt darauf an: Mono-Laufzeit
| Abhängig von: libc6
| Abhängig von: libc6.1
Abhängig von: libc0.1
Abhängig von: libglib2.0-cil
Abhängig von: libgtk2.0-0
Abhängig von: libgtk2.0-cil
Abhängig von: liblaunchpad-integration1.0-cil
Abhängig von: libmono-addins-gui0.2-cil
Abhängig von: libmono-addins0.2-cil
Abhängig von: libmono-cairo2.0-cil
Abhängig von: libmono-corlib2.0-cil
Abhängig von: libmono-posix2.0-cil
Abhängig von: libmono-system2.0-cil
Abhängig von: librsvg2-2
Kommt drauf an: Mono-Csharp-Shell
Es schien mir, dass Mono-Laufzeit ein guter Kandidat sein könnte, also entschied ich mich, nach allen Paketen zu suchen, die von Mono-Laufzeit abhängen:
apt-cache hängt von der Mono-Laufzeit ab
Voila! Alle Pakete, die MONO verwenden, werden angezeigt.
Um eine vollständige Liste aller Pakete zu sehen, die von einem MONO-Paket abhängen, hätten wir schreiben können:
apt-cache hängt von mono ab *
Danke, dass du Pablo geantwortet hast, und danke für den Beitrag 🙂
Pablo du bist mein Idol!
Ausgezeichnete Post.
Großartig! Danke für die Daten!
Für diejenigen von uns, die Bruttoverteilungen verwenden ………… Witz
Für Benutzer von RPM-basierten Paketmanagern wird dieser Befehl verwendet
rpm -qR Pakete
Beispiel:
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