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.


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


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

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.