¿Cómo mostrar visualmente las dependencias de un paquete?

31

Esto es solo por diversión y curiosidad: ¿hay alguna herramienta que pueda usar para ver visualmente las dependencias de un paquete como un gráfico?

Es decir, los paquetes de los que depende un paquete dado. Esta puede ser una herramienta de línea de comandos que se muestra utilizando gráficos ASCII (como el árbol o el gráfico de Mercurial) o una herramienta GUI que muestra visualmente el gráfico de dependencia. Cualquier otra combinación de herramientas que pueda mostrar las dependencias también funciona visualmente.

Ashwin Nanjappa
fuente
¿Y cuáles serían los ejes del gráfico?
1
@ vasa1: los vértices serían paquetes y los bordes son las dependencias.
Ashwin Nanjappa

Respuestas:

34

libre de deudas

Según el sitio web de la aplicación , el debtreepaquete proporciona "gráficos de dependencia de paquetes con esteroides" .

Nota: Esto también es muy útil cuando se planifican actualizaciones de software. Esta aplicación es capaz de graficar dependencias contra paquetes que aún no se han instalado en su sistema. Esto se leerá del sources.listarchivo (generalmente ubicado en /etc/apt/sources.list) y realizará una consulta en vivo usando esa lista.

El siguiente diagrama es un ejemplo de ejecución debtreecontra el paquete dpkg. Aquí hay un mapa de sus dependencias:

Para instalar debtreedesde la línea de comando ( Ctrl- Alt- t) ingrese el comando:

sudo apt-get install debtree

Uso

  • Cree un archivo .dot (un dibujo gráfico dirigido; consulte la página de man dotmanual)

    debtree --with-suggests <package> >out.dot
    
  • Crear un gráfico (PNG) a partir de un archivo .dot

    dot -T png -o out.png out.dot
    
  • Cree un gráfico (Postscript) y visualícelo usando Okular

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

Tenga en cuenta que al ejecutar esta aplicación en paquetes más grandes (es decir, gedit), las imágenes pueden volverse rápidamente difíciles de manejar e ilegibles.

Tenga en cuenta que apt-rdependstambién se puede usar de manera similar, pero la salida de tuberías en un gráfico es un poco más complicada, en mi opinión.

Consulte también: página de manual de Ubuntureereeree

Kevin Bowen
fuente
1
--no-skipo incluso --show-allson opciones muy útiles para incluir más paquetes como libc6.
cierre de sesión
2

Tal vez no sea tan "gráfico", pero si prefiere no instalar ningún paquete adicional, también tiene la posibilidad de ejecutar

apt-cache rdepends <package>

También es posible que desee echar un vistazo a la dependsopción.

Tu también tienes:

  • apt rdepends <package>
  • Usa este script ,apt-rdepends-tree <package>
  • apt-rdepends <package>o como libre de deudas apt-rdepends --dotty package | springgraph > dependencies.png
Pablo A
fuente
1

La herramienta de línea de comandos Apitude es una gran herramienta para observar las dependencias. sin gráficos sofisticados, pero le brinda una buena representación jerárquica de dependencias para un paquete específico.

Ntc
fuente
Nathan Cazell: ¿Podría explicar cómo puedo ver este gráfico jerárquico para un paquete dado?
Ashwin Nanjappa
Cuando abra Aptitude, simplemente busque un paquete usando / y luego presione Intro para el paquete que desea y mostrará toda la información sobre el paquete, incluido un árbol de dependencias con dependencias no satisfechas y también paquetes en conflicto.
Ntc
Nathan Cazell: ¿Te refieres a la herramienta de aptitud de línea de comandos?
Ashwin Nanjappa
Editado Perdón por no aclarar antes
Ntc