Comment afficher visuellement les dépendances d'un package?

31

C'est juste pour le plaisir et la curiosité: existe-t-il un outil à l'aide duquel je peux voir visuellement les dépendances d'un package sous forme de graphique?

Autrement dit, les packages dont dépend un package donné. Il peut s'agir d'un outil en ligne de commande qui s'affiche à l'aide de graphiques ASCII (comme l'arborescence ou le journal des graphes de Mercurial) ou d'un outil GUI qui affiche visuellement le graphique des dépendances. Toute autre combinaison d'outils pouvant afficher visuellement les dépendances fonctionne également.

Ashwin Nanjappa
la source
Et quels seraient les axes du graphique?
1
@ vasa1: Les sommets seraient des packages et les arêtes seraient les dépendances.
Ashwin Nanjappa

Réponses:

34

debtree

Selon le site Web de l'application , le debtreepackage fournit des "graphiques de dépendance des packages sur les stéroïdes" .

Remarque: Ceci est également très utile lors de la planification de mises à niveau logicielles. Cette application est capable de représenter graphiquement les dépendances par rapport aux packages qui n'ont pas encore été installés sur votre système. Cela lira le sources.listfichier (généralement situé à /etc/apt/sources.list) et exécutera une requête en direct à l'aide de cette liste.

Le diagramme suivant est un exemple d'exécution debtreesur le package dpkg. Voici une carte de ses dépendances:

Pour installer à debtreepartir de la ligne de commande ( Ctrl- Alt- t), entrez la commande:

sudo apt-get install debtree

Usage

  • Créez un fichier .dot (un dessin graphique dirigé - voir la man dotpage de manuel)

    debtree --with-suggests <package> >out.dot
    
  • Créer un graphique (PNG) à partir d'un fichier .dot

    dot -T png -o out.png out.dot
    
  • Créez un graphique (Postscript) et visualisez-le en utilisant Okular

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

Sachez que lorsque vous exécutez cette application sur des packages plus volumineux (c'est-à-dire gedit), les images peuvent rapidement devenir lourdes et illisibles.

Notez que cela apt-rdependspeut également être utilisé d'une manière similaire, mais la sortie de la tuyauterie dans un graphique est un peu plus compliquée, à mon avis.

Voir aussi: page de manuel Ubuntu debtree

Kevin Bowen
la source
1
--no-skipou même --show-allsont des options très utiles pour inclure plus de packages comme libc6.
déconnexion le
2

Peut-être pas si "graphique" mais si vous préférez ne pas installer de paquets supplémentaires, vous avez également la possibilité de simplement lancer

apt-cache rdepends <package>

Vous pouvez également envisager l' dependsoption.

Vous avez aussi:

  • apt rdepends <package>
  • Utilisez ce script ,apt-rdepends-tree <package>
  • apt-rdepends <package>ou comme debtree apt-rdepends --dotty package | springgraph > dependencies.png
Pablo A
la source
1

L'outil de ligne de commande Apitude est un excellent outil pour examiner les dépendances. pas de graphiques fantaisistes, mais cela vous donne une belle représentation hiérarchique des dépendances pour un package spécifique.

Ntc
la source
Nathan Cazell: Pourriez-vous expliquer comment je peux afficher ce graphique hiérarchique pour un package donné?
Ashwin Nanjappa
lorsque vous ouvrez Aptitude, recherchez simplement un package en utilisant / puis appuyez sur Entrée pour le package que vous souhaitez et il affichera toutes les informations sur le package, y compris un arbre de dépendance avec des dépendances non satisfaites et également des packages en conflit.
Ntc
Nathan Cazell: Faites-vous référence à l'outil d'aptitude en ligne de commande?
Ashwin Nanjappa
Édité. Désolé de ne pas avoir clarifié plus tôt
Ntc