Wie werden Abhängigkeiten eines Pakets visuell angezeigt?

31

Dies ist nur zum Spaß und Neugier: Gibt es ein Werkzeug , das ich kann visuell die sieht Abhängigkeiten eines Pakets als Graph?

Das heißt, von welchen Paketen ein bestimmtes Paket abhängt. Dies kann ein Befehlszeilentool sein, das unter Verwendung von ASCII-Grafiken (wie Baumstruktur oder Mercurials Grafikprotokoll) angezeigt wird, oder ein GUI-Tool, das das Abhängigkeitsdiagramm visuell anzeigt. Jede andere Kombination von Werkzeugen, mit denen die Abhängigkeiten visuell dargestellt werden können, funktioniert auch.

Ashwin Nanjappa
quelle
Und was wären die Achsen des Graphen?
1
@ vasa1: Eckpunkte wären Pakete und Kanten sind die Abhängigkeiten.
Ashwin Nanjappa

Antworten:

34

schuldenfrei

Laut der Website der Anwendung enthält das debtreePaket "Diagramme zur Paketabhängigkeit von Steroiden" .

Hinweis: Dies ist auch sehr nützlich, wenn Sie Software-Upgrades planen. Diese Anwendung kann Abhängigkeiten zu Paketen grafisch darstellen, die noch nicht auf Ihrem System installiert wurden. Dies liest aus der sources.listDatei (normalerweise unter /etc/apt/sources.list) und führt eine Live-Abfrage unter Verwendung dieser Liste durch.

Das folgende Diagramm ist ein Beispiel für die Ausführung debtreedes Pakets dpkg. Hier ist eine Karte seiner Abhängigkeiten:

Geben Sie zum Installieren debtreeüber die Befehlszeile ( Ctrl- Alt- t) den folgenden Befehl ein:

sudo apt-get install debtree

Verwendung

  • Erstellen Sie eine .dot-Datei (eine gerichtete Diagrammzeichnung - siehe die man dotManpage)

    debtree --with-suggests <package> >out.dot
    
  • Erstellen Sie ein Diagramm (PNG) aus einer DOT-Datei

    dot -T png -o out.png out.dot
    
  • Erstellen Sie ein Diagramm (Postscript) und zeigen Sie es mit Okular an

    debtree <package> | dot -Tps | okular - &
    

Beachten Sie, dass beim Ausführen dieser Anwendung mit größeren Paketen (z. B. gedit) die Bilder schnell unhandlich und unleserlich werden können.

Beachten Sie, dass apt-rdependsdies auch auf ähnliche Weise verwendet werden kann, aber meiner Meinung nach ist es etwas komplizierter, die Ausgabe in eine Grafik umzuleiten.

Siehe auch: Ubuntu Debtree Manpage

Kevin Bowen
quelle
1
--no-skipoder sind sogar --show-allsehr nützliche Optionen, um mehr Pakete wie libc6.
Abmeldung am
2

Vielleicht nicht so "grafisch", aber wenn Sie es vorziehen, keine zusätzlichen Pakete zu installieren, haben Sie auch die Möglichkeit, einfach zu starten

apt-cache rdepends <package>

Vielleicht möchten Sie auch einen Blick auf die dependsOption werfen .

Sie haben auch:

  • apt rdepends <package>
  • Verwenden Sie dieses Skript ,apt-rdepends-tree <package>
  • apt-rdepends <package>oder als Debtree apt-rdepends --dotty package | springgraph > dependencies.png
Pablo A
quelle
1

Das Befehlszeilentool Apitude ist ein großartiges Tool zum Betrachten von Abhängigkeiten. Keine ausgefallenen Grafiken, aber es gibt Ihnen eine schöne hierarchische Darstellung der Abhängigkeiten für ein bestimmtes Paket.

Ntc
quelle
Nathan Cazell: Können Sie näher erläutern, wie ich dieses hierarchische Diagramm für ein bestimmtes Paket anzeigen kann?
Ashwin Nanjappa
Wenn Sie Aptitude öffnen, suchen Sie einfach mit / nach einem Paket und drücken Sie die Eingabetaste für das gewünschte Paket. Daraufhin werden alle Informationen zum Paket angezeigt, einschließlich eines Abhängigkeitsbaums mit nicht erfüllten Abhängigkeiten und auch widersprüchlichen Paketen.
Ntc
Nathan Cazell: Beziehen Sie sich auf das Kommandozeilen-Aptitude-Tool?
Ashwin Nanjappa
Bearbeitet Entschuldigung, dass
ich es