Come visualizzare visivamente le dipendenze di un pacchetto?


31

Questo è solo per divertimento e curiosità: esiste uno strumento con cui posso vedere visivamente le dipendenze di un pacchetto come un grafico?

Cioè, i pacchetti da cui dipende un determinato pacchetto. Questo può essere uno strumento da riga di comando che viene visualizzato utilizzando la grafica ASCII (come l'albero o il graphlog di Mercurial) o uno strumento GUI che mostra visivamente il grafico delle dipendenze. Qualsiasi altra combinazione di strumenti in grado di mostrare visivamente le dipendenze funziona anche.


E quali sarebbero gli assi del grafico?

1
@ vasa1: i vertici sarebbero pacchetti e i bordi sono le dipendenze.
Ashwin Nanjappa,

Risposte:


34

debtree

Secondo il sito Web dell'applicazione , il debtreepacchetto fornisce "grafici di dipendenza del pacchetto sugli steroidi" .

Nota: questo è anche molto utile quando si pianificano aggiornamenti del software. Questa applicazione è in grado di rappresentare graficamente le dipendenze rispetto ai pacchetti che non sono stati ancora installati sul sistema. Questo leggerà dal sources.listfile (di solito si trova in /etc/apt/sources.list) ed eseguirà una query live usando quell'elenco.

Il seguente diagramma è un esempio di esecuzione debtreesul pacchetto dpkg. Ecco una mappa delle sue dipendenze:

Per installare debtreedalla riga di comando ( Ctrl- Alt- t) immettere il comando:

sudo apt-get install debtree

uso

  • Crea un file .dot (un disegno grafico diretto - vedi la man dotmanpage)

    debtree --with-suggests <package> >out.dot
    
  • Crea un grafico (PNG) da un file .dot

    dot -T png -o out.png out.dot
    
  • Crea un grafico (Postscript) e visualizzalo usando Okular

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

Tenere presente che quando si esegue questa applicazione su pacchetti più grandi (ad esempio gedit), le immagini possono diventare rapidamente ingombranti e illeggibili.

Si noti che apt-rdependspuò anche essere usato in modo simile, ma l'output del piping in un elemento grafico è un po 'più contorto, secondo me.

Vedi anche: Pagina man di debito di Ubuntu


1
--no-skipo anche --show-allsono opzioni molto utili per includere più pacchetti come libc6.
disconnessione il

2

Forse non è così "grafico" ma se preferisci non installare alcun pacchetto aggiuntivo hai anche la possibilità di eseguire

apt-cache rdepends <package>

Potresti anche dare un'occhiata dependsall'opzione.

Hai anche:

  • apt rdepends <package>
  • Usa questo script ,apt-rdepends-tree <package>
  • apt-rdepends <package>o come debito apt-rdepends --dotty package | springgraph > dependencies.png

1

Lo strumento da riga di comando Apitude è un ottimo strumento per osservare le dipendenze. nessun grafico di fantasia, ma ti dà una bella rappresentazione gerarchica delle dipendenze per un pacchetto specifico.


Nathan Cazell: Potresti elaborare come posso visualizzare questo grafico gerarchico per un determinato pacchetto?
Ashwin Nanjappa

quando apri Aptitude cerca un pacchetto usando / quindi premi invio per il pacchetto desiderato e mostrerà tutte le informazioni sul pacchetto incluso un albero delle dipendenze con dipendenze non soddisfatte e anche pacchetti in conflitto.
Ntc

Nathan Cazell: Ti riferisci allo strumento attitudinale da riga di comando?
Ashwin Nanjappa

Modificato.
Ci
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.