El libre pensamiento para un internet libre

No estas registrado.  

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

#1 11-04-2018 10:35:31

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 4,269

apt-rdepends: Chequeo recursivo de las dependencias de un paquete deb

apt-rdepends: Pequeña herramienta de consola útil que permite saberlo todo acerca de las dependencias de un paquete *.deb

  Al usar Debian, Ubutnu o un derivado, tenemos acceso a unos extensivos repositorios con multitudes de paquetes deb disponibles y que se instalan sin esfuerzos.   
  Las dependencias se cumplen por si solas y nos podemos olvidar del asunto.
   Pero no es el caso con todas distribuciones.
Y podemos querer usar un programa en otro sistema que solo encontramos en paquete *.deb. 
Descomprimir un paquete *.deb para obtener las fuentes no es un problema, la dificultad viene a la hora de resolver las dependencias.
No podemos pasar por apt y tendremos que instalar cada una de las dependencias "a mano"· 
Con la orden apt podemos usar show que nos va a enseñar las dependencias directas.
Tomemos aircrack-ng en ejemplo:

 apt show aircrack-ng
Package: aircrack-ng
Version: 1:1.2-0~rc4-4
Priority: optional
Section: net
Maintainer: Debian Security Tools Packaging Team <[email protected]>
Installed-Size: 4108 kB
Depends: iw, wireless-tools, ethtool, usbutils, rfkill, libc6 (>= 2.15), libgcc1 (>= 1:3.0), libgcrypt20 (>= 1.8.0), libnl-3-200 (>= 3.2.7), libnl-genl-3-200 (>= 3.2.7), libpcap0.8 (>= 0.9.8), libpcre3, libsqlite3-0 (>= 3.5.9), libstdc++6 (>= 4.1.1), zlib1g (>= 1:1.1.4)
Recommends: ieee-data
Homepage: http://www.aircrack-ng.org/
Tag: implemented-in::c, interface::commandline, network::scanner,
 role::program, scope::utility, security::authentication,
 security::cryptography, use::scanning
Download-Size: 2722 kB
APT-Manual-Installed: no
APT-Sources: http://http.kali.org/kali kali-rolling/main amd64 Packages
Description: wireless WEP/WPA cracking utilities
 aircrack-ng is an 802.11a/b/g WEP/WPA cracking program that can recover a
 40-bit, 104-bit, 256-bit or 512-bit WEP key once enough encrypted packets
 have been gathered. Also it can attack WPA1/2 networks with some advanced
 methods or simply by brute force.
 .
 It implements the standard FMS attack along with some optimizations,
 thus making the attack much faster compared to other WEP cracking tools.
 It can also fully use a multiprocessor system to its full power in order
 to speed up the cracking process.
 .
 aircrack-ng is a fork of aircrack, as that project has been stopped by
 the upstream maintainer.

Y sabemos que para instalar reaver en otro sistema debemos cumplir estas dependencias:

 iw, wireless-tools, ethtool, usbutils, rfkill, libc6 (>= 2.15), libgcc1 (>= 1:3.0), libgcrypt20 (>= 1.8.0), libnl-3-200 (>= 3.2.7), libnl-genl-3-200 (>= 3.2.7), libpcap0.8 (>= 0.9.8), libpcre3, libsqlite3-0 (>= 3.5.9), libstdc++6 (>= 4.1.1), zlib1g (>= 1:1.1.4)

Empezamos a ponernos mano a la obra y tenemos errores porque estas dependencias tienen su propias dependencias que debemos cumplir.
Por ejemplo podemos ver con apt show que para instalar libc6 debemos tener a libgcc1

apt show libc6
Package: libc6
Version: 2.27-3
Priority: optional
Section: libs
Source: glibc
Maintainer: GNU Libc Maintainers <[email protected]>
Installed-Size: 11,7 MB
Depends: libgcc1

Y es como jugar con muñecas rusas, vamos de errores en errores hasta cumplir todas las dependencias recursivamentes para poder instalar finalmente aircrack-ng
Un proceso tedioso y es muy probable que instalemos de paso cosas que no necesitamos buscando la solución para cumplir unas dependencias.   

Para hacer las coas bien y de forma eficiente tenemos a apt-rdepends que podemos instalar con un simple apt-redepnds

sudo apt install apt-rdepends

Su uso es muy sencillo, tiene pocas opciones:

apt-rdepends
Usage:
    apt-rdepends [options] [pkgs ...]

Options:
 -b, --build-depends        show build dependencies
 -d, --dotty                generates a dotty graph
 -p, --print-state          show the state of each dependency
 -r, --reverse              list packages that depend on the specified one
 -f, --follow=DEPENDS       only follow DEPENDS dependencies recursively
 -s, --show=DEPENDS         only show DEPENDS dependencies
     --state-follow=STATES  only follow STATES states recursively
     --state-show=STATES    only show STATES states
     --help                 display this help and exit
     --man                  display the man page and exit
     --version              output version information and exit

Para saber todo lo que necesitamos podemos ejecutar el comando a "palos secos".

apt-rdepends aircrack-ng

apt-rdepends_1.jpg

   Vemos que debemos empezar por instalar gcc8-base, luego instalamos a libgcc1, luego libc6 y por fin ethtool.
Hacemos las cosas en el orden y de una, en lugar de dar golpes de palos en el agua.

Para tener una salida más "amistosa" podemos instalar "springraph" con

sudo apt install signing-party

Podremos así usar la opción -d (--dotty) para generar esquemas.
Ejemplo de uso:

  1. Guardamos la salida de apt-rdepends en un fichero temporario

    apt-rdepends -d aircrack-ng >> /tmp/graph.dot
  2. Creamos el gráfico con springgraph

    springgraph < /tmp/graph.dot > /home/kcdtv/graph.png 

  3. Abrimos el archivo *.png que hemos creado con gimp o un visulaizador de imagenes cualquiera... ¡Y voilà!
    apt-rdepends_2.jpg

fuentes 

Desconectado

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

#2 11-04-2018 11:20:21

crash
Usuario

Registrado: 25-10-2017
Mensajes: 952

Re: apt-rdepends: Chequeo recursivo de las dependencias de un paquete deb

buena información,  biere pero vaya cacao con el gráfico. pam al final todo apunta a libc6 jejejeje

Desconectado

#3 11-04-2018 12:49:27

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 4,269

Re: apt-rdepends: Chequeo recursivo de las dependencias de un paquete deb

vaya cacao con el gráfico

¿Qué dices? No es nada.  Aircrack-ng son solo 20 dependencias o algo así.... Imagínate lo que sería con gimp o libreoffice o steam. big_smile

al final todo apunta a libc6 jejejeje

Esto lo sabes con el comando apt show aircrack-ng
El interés es justamente saber lo que hay antes y que no tiens con apt show. Y entender las interacciones entres librerías/elementos.
Sin tener muchas ideas  entiendes cosas con una sola mirada...
Por ejemplo que libudev1 - libusb y usbutils son para el funcionamiento de los USB.   

apt-rdepends_3.jpg

Ver lo así es mucho mejor que si te ponen una lista de 20 dependencias...
   Y mucho más instructivo.
Ejemplo: Sabemos por ejemplo que iwconfig se considera "obsoleto" y que hoy en día se recomienda el uso de "iw" (ver: ¡iwconfig es obsoleto también! Moderniza tus sintaxis wifi con iw)
Gracias al gráfico  podemos ver que son dos herramientas muy distintas ya que usan librerías diferentes y podemos intuir que esto es uno de los motivos que hace que una herramienta se considera "obsoleta"y la otra no.

Desconectado

#4 11-04-2018 13:50:48

crash
Usuario

Registrado: 25-10-2017
Mensajes: 952

Re: apt-rdepends: Chequeo recursivo de las dependencias de un paquete deb

ya, si en eso estoy de acuerdo, en que con gráfico se ve mucho mejor y se entiende mejor.
era en plan cachondeo, lo del gráfico, jajajaja

Desconectado

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

Temas similares

Tema Respuestas Vistas Ultimo mensaje
46 20667 Hoy 15:19:44 por calavazo32
14 1071 Hoy 15:09:52 por calavazo32
13 3510 Hoy 15:02:55 por calavazo32
3 1117 Hoy 15:00:58 por kcdtv
30 433 Hoy 14:10:03 por kcdtv

Pie de página

Información del usuario

Ultimo usuario registrado: gaspard
Usuarios registrados conectados: 1
Invitados conectados: 17

Conectados: javierbu

Estadisticas de los foros

Número total de usuarios registrados: 1,123
Número total de temas: 1,128
Número total de mensajes: 11,701

Máx. usuarios conectados: 69 el 15-10-2017 09:23:21