No estoy seguro de si se trata más de una pregunta de SuperUser o UnixLinux, pero intentaré aquí ...
Recientemente, encontré esto:
Sería bueno cuando aptitude usaría caracteres unicode para los árboles en las listas de dependencias, por ejemplo, en lugar de:
--\ Depends (3) --- libc-dev-bin (= 2.17-3) --- libc6 (= 2.17-3) --- linux-libc-dev --\ Suggests (2) --- glibc-doc (UNSATISFIED) --\ manpages-dev
...
... y pensé: wow, me gusta mucho la salida del árbol de arte ASCII, ¡no sabía que aptitude
podía hacer eso! Entonces, empiezo a jugar durante una hora con los aptitude
interruptores de línea de comandos, ¿y simplemente no puedo obtener esa salida? Entonces mi pregunta inicial fue: ¿de dónde proviene esa salida en primer lugar?
Después de un tiempo, me di cuenta de que en mi sistema, aptitude
finalmente , los enlaces simbólicos a /usr/bin/aptitude-curses
; y finalmente me di cuenta de que aptitude
tiene una curses
interfaz!:/
Entonces, finalmente ejecuto aptitude
sin ningún argumento, y así se curses
inicia la interfaz, y puedo ver algo como esto:
... así que obviamente, esos caracteres de árbol ASCII provienen de la interfaz de maldiciones.
Así que me preguntaba: ¿existe una herramienta Debian / apt que genere un árbol ASCII tan "visual", pero con dependencias reales de paquetes?
Sé sobre deudas - Gráficos de dependencia de paquetes (también recomendación de software - ¿Cómo mostrar visualmente las dependencias de un paquete? - Pregúntele a Ubuntu ); pero prefiero tener algo en la terminal, parecido a un árbol de directorios (en lugar de los gráficos "desordenados" [en términos de posición del nodo] debtree
generados por graphviz
's dot
).
También he visto ¿Hay algo que muestre dependencias visualmente, como un árbol? , que recomienda:
$ apt-rdepends aptitude
Reading package lists... Done
Building dependency tree
Reading state information... Done
aptitude
Depends: libapt-pkg4.10
Depends: libboost-iostreams1.42.0 (>= 1.42.0-1)
Depends: libc6 (>= 2.4)
Depends: libcwidget3
Depends: libept1
Depends: libgcc1 (>= 1:4.1.1)
Depends: libncursesw5 (>= 5.7+20100313)
Depends: libsigc++-2.0-0c2a (>= 2.0.2)
Depends: libsqlite3-0 (>= 3.7.3)
Depends: libstdc++6 (>= 4.5)
Depends: libxapian22
libapt-pkg4.10
libboost-iostreams1.42.0
Depends: libbz2-1.0
Depends: libc6 (>= 2.3.6-6~)
Depends: libgcc1 (>= 1:4.1.1)
Depends: libstdc++6 (>= 4.2.1)
Depends: zlib1g (>= 1:1.1.4)
...
... lo cual es bueno, porque enumera primero las dependencias inmediatas del paquete requerido; y luego las dependencias de los paquetes de dependencias de primer nivel, y así sucesivamente, pero no se visualiza como un árbol (y en realidad, aptitude
la curses
interfaz simplemente muestra la información instalada cuando expande el nodo de dependencia; no se expande a otras dependencias).
Entonces, la pregunta es si existe una herramienta que produzca un gráfico de árbol de dependencia con caracteres terminales, como, por ejemplo, en el siguiente pseudocódigo:
$ pseudo-deb-graph --show-package="aptitude"
aptitude
--- Depends: libapt-pkg4.10
--\ Depends: libboost-iostreams1.42.0 (>= 1.42.0-1)
--- Depends: libbz2-1.0
--- Depends: libc6 (>= 2.4)
--\ Depends: libc6 (>= 2.3.6-6~)
--\ Depends: libc-bin (= 2.13-0ubuntu13)
--- ...
--\ Depends: libgcc1
--- ...
--\ Depends: tzdata
--- ...
...