Frage Wie listet man abhängige Pakete auf (umgekehrte Abhängigkeiten)?


Um zu untersuchen, was die Installation eines bestimmten Pakets verursacht hat, möchte ich eine Liste der Pakete erhalten, die von diesem Paket abhängen. Ich konnte nichts Offensichtliches finden man dpkg.


137
2018-04-30 13:06


Ursprung


Verbunden: askubuntu.com/questions/13296/ ... - Seth♦
Die Antworten der älteren Frage drehen sich alle umeinander aptitudeetwas, das seit Jahren nicht standardmäßig installiert ist. Im Jahr 2017 hat noch jeder auf Ubuntu apt-cache. Jeder, der der verknüpften Frage folgt, wird sich in einer Diskussion über ein Programm verlieren, das nur wenige haben werden. - Lambart


Antworten:


apt-cache rdepends packagename sollte tun, was Sie wollen


177
2018-04-30 13:07



Ausgezeichnet! apt-cache rdepends tofrodos bestätigte die Verdacht dass es von einem anderen Paket installiert wurde (das veraltete dos2unix). - l0b0
Gutes Geschäft. Ich wünschte, es gäbe eine rekursive Option. Leider ist mir soweit nicht bekannt. - RobotHumans
Für heute (apt Version 0.9.9.1) gibt es --recurse Option, die mit rdepends funktioniert. - jarno
Wenn Sie hinzufügen --installedDie Ausgabe ist sogar nützlich für Pakete, die von vielen anderen verwendet werden können: apt-cache rdepends --installed packagename - quazgar
Warum haben einige der Pakete für die Ausgabe einen vertikalen Balken (Pipe-Symbol) vor ihnen? - Vahid Pazirandeh


aptitude hat eine ziemlich nette Art, dies zu handhaben:

$ aptitude why bash
i   foomatic-filters PreDepends bash (>= 2.05)

In der Standardeinstellung wird nur der Grund "am häufigsten installiert, am stärksten, am dichtesten, am kürzesten" aufgeführt, den Sie jedoch verwenden können aptitude -v why damit es alles ausgibt, was es findet.


51
2018-05-01 13:41



Scheint so, als betrachte es nur die installierten Pakete, nicht alles verfügbar. Und das war es, was ich brauchte. - Tuukka Mustonen
Dafür willst du reverse-depends im ubuntu-dev-tools - tumbleweed
Wie wäre es mit Debian? - Tuukka Mustonen
ubuntu-dev-tools ist in Debian - tumbleweed
Das ist toll. Ich habe das gelernt openssh-server  empfohlen (und deshalb installiert) xauth auf einem kopflosen Server ziehen Hunderte von x11 Abhängigkeiten und Dutzenden von nutzlosen Updates pro Monat. Das ist das Problem bei der automatisierten Paketverwaltung! - BaseZen


apt-cache showpkg <pkgname> 

Beispiel:

apt-cache showpkg lightdm

14
2018-04-30 13:11





Es gibt mehrere Möglichkeiten, wobei jede Methode eine andere Ausgabe anzeigt.

Für eine detaillierte Ansicht des vollständigen umgekehrten Abhängigkeitsbaums;

aptitude install apt-rdepends
apt-rdepends -r bash

Alternative;

apt-cache showpkg bash

Oder eine knappe Liste:

apt-cache rdepends bash

13
2018-05-01 13:52



Was genau macht rdepends in diesem Baum zeigen? apt-rdepends php7.0-fpm zeigt an sed. sed ist nicht von PHP abhängig, geschweige denn von PHP FPM. - Dan Dascalescu
Es ist umgekehrt, es bedeutet, dass PHP von sed abhängt. - Erik Berkun-Drevnig
Hallo Leute, eigentlich "apt-rdepends" steht für "rekursive Abhängigkeit". Wenn Sie rekursive Abhängigkeiten reversieren möchten, müssen Sie Folgendes eingeben: apt-rdepends -r yourPackageNameHere - SebMa


Zusätzlich zu anderen guten Antworten:

sudo apt -s remove <pkgname>

( -s Führt eine "simulierte" Entfernung durch. )

Der Befehl remove listet normalerweise alle Abhängigkeiten / Programme / Bibliotheken auf, die betroffen sind oder die zusammen mit dem angegebenen Paket entfernt (verwaist) werden können. (Wenn sie existieren.)


3
2017-08-22 16:53



apt remove -s php7.0-fpm zeigt an The following additional packages will be installed: apache2 apache2-bin apache2-data libapache2-mod-php7.0 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0. Warum sollte Apache installiert werden, wenn ich PHP FPM entferne? - Dan Dascalescu
@DanDascalescu Hmm. Könnte ein schlechtes install / remove script für apt pkg sein oder haben Sie andere Abhängigkeiten, die apache2 als dep installieren (was bedeutet, dass ein Webserver benötigt wird - und ich glaube, dass apache2 der Standard-Webserver ist). Könnte ein paar Dinge sein. Nur nicht sicher. Hat der Geruch eines guten Beitrags auf AskUbuntu, wenn Sie keine Antwort gefunden haben. - bshea