# [¿Enlace simbolico?] No detecta el enlace simbolico.

## ZaPa

Hola buenas a todos, veamos, he bajado la suite de aircrack y bueno, tengo un problema un tanto raro, veamos.

1.Bajo y descomprimo el archivo .tar de la suite.

2.Me meto en dicha carpeta hago un make, y el make termina perfectamente:

```

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/aircrack-ng.c src/crypto.c src/sha1-mmx.S src/common.c src/aircrack-ptw-lib.c -o aircrack-ng -lpthread

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/airdecap-ng.c src/crypto.c src/common.c src/crc.c -o airdecap-ng

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/packetforge-ng.c src/common.c src/crc.c -o packetforge-ng

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/ivstools.c src/common.c -o ivstools

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/kstats.c  -o kstats

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` test/makeivs.c -o makeivs

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/aireplay-ng.c src/common.c src/crc.c -o aireplay-ng

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/airodump-ng.c src/common.c -o airodump-ng

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/airtun-ng.c src/common.c src/crc.c src/crypto.c -o airtun-ng

```

3.Hago un make install y también termina perfectamente:

```

install -d /usr/local/bin

install -m 755 aircrack-ng airdecap-ng packetforge-ng ivstools kstats /usr/local/bin

install -m 755 makeivs /usr/local/bin

install -d /usr/local/man/man1

install -m 644 ./manpages/* /usr/local/man/man1

install -d /usr/local/sbin

install -m 755 aireplay-ng airodump-ng airtun-ng /usr/local/sbin

install -m 755 airmon-ng /usr/local/sbin

```

Pues parece todo perfecto, pero al intentar ejecutar el aircrack-ng o cualquier programa de la suite de aircrack (escribo air y tabulador y no me autocompleta) osea, que no se encuentra instalado.

Pues nosé, es muy raro esto, qué puedo hacer?

Espero respuestas.

Muchisimas gracías.

Saludos.

----------

## zorth

```

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.1:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/qt/3/bin:/opt/vmware/workstation/bin

```

si en principio, tu /usr/local/bin forma parte como debe ser de tu path o una de dos, o no tienes permisos de ejecucion como usuario cosa que es raro porque aparecen permisos 755 o tal archivo no existe. a ver si alguien sabe como ayudarte mejor.

saludos.

----------

## Inodoro_Pereyra

No hubiera sido mas facil usar emerge?

```
eix aircrack

* net-wireless/aircrack-ng

     Available versions:  ~0.7-r1 ~0.7-r2 ~0.8 ~0.9

     Homepage:            http://www.aircrack-ng.org

     Description:         WLAN tools for breaking 802.11 WEP/WPA keys

* net-wireless/aircrack-ptw

     Available versions:  ~1.0.0

     Homepage:            http://www.cdc.informatik.tu-darmstadt.de/aircrack-ptw/

     Description:         Improved WLAN tool for breaking 802.11 WEP keys

Found 2 matches.

```

Saludos!

----------

## ZaPa

El emerge me hace algo parecido, al emerger la suite de aircrack-ng solo me "detecta" el enlace simbólico del aircrack-ng y el aireplay-ng el airodump y demás como si no estuvieran.

Espero respuestas.

Saludos.

Muchas gracías.

----------

## i92guboj

Pega el resultado de estos comandos:

```
$ ls -ld $(equery f aircrack-ng | grep bin)

$ echo $PATH

```

El primero solo dirá algo relevante si has emergido aircrack, no si lo has instalado a mano. Cambia o repite el comando para aircrack-ptw si es ese el que tienes instalado o si son los dos.

----------

## ZaPa

Bueno, pues ahora estoi en el curro.. pero una cosista, 6thpink podrías explicar más o menos lo que hace el comando que tu me has comentado que pruebe? te lo agradecería mucho así vamos aumentando conocimientos jeje.

Saludos.

Esta noche pego el resultado de dichos comandos.

----------

## i92guboj

 *6thpink wrote:*   

> Pega el resultado de estos comandos:
> 
> ```
> $ ls -ld $(equery f aircrack-ng | grep bin)
> 
> ...

 

"equery f aircrack-ng" lista los ficheros instalador por ese paquete.

"equery f aircrack-ng | grep bin" saca los elementos de dicha lista que que contienen la cadena "bin", como los binarios normalmente se instalan en /usr/bin, /bin, /sbin, /usr/sbin o /usr/local/bin (todos contienen "bin"), dicha línea de comandos nos devolverá los ejecutables en la mayoría de los casos, aunque este check no es infalible, podemos decir que normalmente nos proporciona los elementos relevantes.

El resultado de todo eso será algo como esto (te pongo el ejemplo para otro paquete, porque no tengo instalado aircrack):

```

$ equery f gimp | grep bin

/usr/bin

/usr/bin/gimp

/usr/bin/gimp-2.3

/usr/bin/gimp-console

/usr/bin/gimp-console-2.3

/usr/bin/gimp-remote

/usr/bin/gimp-remote-2.3

/usr/bin/gimptool-2.0

```

Ahora, eso lo metemos dentro de $() y se lo pasamos a ls -ld, que lista con detalles (-l) y sin listar el contenido de los directorios, sino sus datos (-d). Ésto último es necesario para evitar que se liste todo el contenido de /usr/bin en el ejemplo de arriba.

El resultado final de "ls -ld $(equery f gimp | grep bin)", es parecido al de arriba, pero con todos los detalles. Lo que quiero ver son los permisos.

```

$  ls -ld $(equery f gimp | grep bin)

drwxr-xr-x 2 root root  44K may 29 17:15 /usr/bin/

lrwxrwxrwx 1 root root    8 may 26 07:11 /usr/bin/gimp -> gimp-2.3*

-rwxr-xr-x 1 root root 3,8M may 26 07:11 /usr/bin/gimp-2.3*

lrwxrwxrwx 1 root root   16 may 26 07:11 /usr/bin/gimp-console -> gimp-console-2.3*

-rwxr-xr-x 1 root root 1,9M may 26 07:11 /usr/bin/gimp-console-2.3*

lrwxrwxrwx 1 root root   15 may 26 07:11 /usr/bin/gimp-remote -> gimp-remote-2.3*

-rwxr-xr-x 1 root root  16K may 26 07:11 /usr/bin/gimp-remote-2.3*

-rwxr-xr-x 1 root root  11K may 26 07:11 /usr/bin/gimptool-2.0*

```

El resultado de "echo $PATH" es el contenido de tu variable $PATH, que contiene las rutas donde el sistema busca los binarios.

Es posible que, o bien los tengas en una ruta que no están en tu $PATH, o bien los binarios o el dir que los contiene no tienen los permisos adecuados.

----------

## ZaPa

Bueno, muchas gracías por sus respuestas, aquí teneis la salida de   ls -ld $(equery f aircrack-ng | grep bin):

```

drwxr-xr-x 58 zapa users 4096 jun  3 16:16 .

```

Y aquí la salida de     echo $PATH:

```

/sbin:/bin:/usr/sbin:/usr/bin

```

Muchisimas gracías a todos.

Saludos.

----------

## i92guboj

No sale nada, has emergido aircrack-ng?

----------

## ZaPa

No, no lo he emergido, si no que, como he dicho anteriormente, lo he instalado manualmente, he bajado la suite y la he instalado manualmente...

El make responde correctamente:

```

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/aircrack-ng.c src/crypto.c src/sha1-mmx.S src/common.c src/aircrack-ptw-lib.c -o aircrack-ng -lpthread

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/airdecap-ng.c src/crypto.c src/common.c src/crc.c -o airdecap-ng

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/packetforge-ng.c src/common.c src/crc.c -o packetforge-ng

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/ivstools.c src/common.c -o ivstools

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/kstats.c  -o kstats

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` test/makeivs.c -o makeivs

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/aireplay-ng.c src/common.c src/crc.c -o aireplay-ng

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/airodump-ng.c src/common.c -o airodump-ng

gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`./evalrev` src/airtun-ng.c src/common.c src/crc.c src/crypto.c -o airtun-ng

```

Y el make install también responde correctamente también:

```

install -d /usr/local/bin

install -m 755 aircrack-ng airdecap-ng packetforge-ng ivstools kstats /usr/local/bin

install -m 755 makeivs /usr/local/bin

install -d /usr/local/man/man1

install -m 644 ./manpages/* /usr/local/man/man1

install -d /usr/local/sbin

install -m 755 aireplay-ng airodump-ng airtun-ng /usr/local/sbin

install -m 755 airmon-ng /usr/local/sbin

```

Bueno, muchisimas gracías por su ayuda.

Saludos,espero respuestas.[/glep]

----------

## i92guboj

No comprendo por qué te empeñas en instalar las cosas a mano, en lugar de usar portage. De cualquier forma, como puedes ver, los binarios están siendo instalados en /usr/local/bin, que no está en tu path. Puedes ejecutarlos de dos formas:

1.- Usando la ruta completa: /usr/local/bin/<nombreprograma>

2.- Añadiendo /usr/local/bin a tu patch, para esto, añade esto en tu ~/.bashrc

```

if [[ -n `echo ${PATH} | grep "/usr/local/bin"` ]]

  then

    : # Fallback, está

  else

    PATH=/usr/local/bin:${PATH}

    export PATH

fi

```

Luego cierra el terminal o vt en que estés operando, y ábrelo de nuevo, o logeate de nuevo, según el caso. Así se cargará el nuevo path. Usa "echo $PATH" para asegurarte.

Pero de verdad, deberías usar portage siempre que se pueda. Así solo te complicas la vida inútilmente.

----------

## ZaPa

Bueno, pues como dije anteriormente tengo exáctamente el mismo problema que cuando lo emergo desde portage, la suite devería de instalar 4 o 5 programas (no recuerdo bien), y solo instala 2, al escribir air en /usr/local/bin/ solamente aparecen 2:

```

localhost home # /usr/local/bin/air

aircrack-ng  airdecap-ng

```

Cuando deverían de aparecer los 4 o 5 programas de la suite, este problema lo tenía también al instalarlo desde el portage.

Bueno,espero respuestas,saludos.

----------

## i92guboj

@ZaPa, he acabado instalando aircrack-ng, y me pone esto en bin:

```

>>> /usr/bin/aircrack-ng

>>> /usr/bin/airdecap-ng

>>> /usr/bin/packetforge-ng

>>> /usr/bin/ivstools

>>> /usr/bin/kstats

>>> /usr/bin/makeivs

```

Añadiendo USE="wifi" sale alguno más:

```

>>> /usr/bin/aircrack-ng

>>> /usr/bin/airdecap-ng

>>> /usr/bin/packetforge-ng

>>> /usr/bin/ivstools

>>> /usr/bin/kstats

>>> /usr/bin/makeivs

>>> /usr/sbin/aireplay-ng

>>> /usr/sbin/airodump-ng

>>> /usr/sbin/airtun-ng

>>> /usr/sbin/airmon-ng

```

Los de sbin, no los podrás ejecutar a no ser que seas usuario root.

EDIT: Cuando falten funcionalidades o componentes que tu piensas que deberían estar ahí, mira siempre las USE flags, que están para eso. Y no te vayas a compilar a mano fuera de portage a la primera de cambio.

----------

## ZaPa

Pues bueno, he añadido al make.conf la nueva USE wifi y esto sigue sin funciónar...

Despues de añadir la nueva USE, he echo un make clean && make uninstall;  y despues de nuevo un: make && make install.

¿Algúna otra idea?

Saludos a todos.

Muchisimas gracías.

Espero respuestas.

----------

## i92guboj

ZaPa, te digo y te repito: instala usando emerge. Desinstala eso que has instalado a mano y emérgelo.

Las USE SOLO SON VÁLIDAS SI USAS EMERGE, si compilas a mano, entonces tendrás que pasar esas opciones a mano como defines o como opciones de ./configure. Toda las configuración de tu make.conf es INÚTIL si no usas el sistema de paquetes de Gentoo y te empeñas una y otra vez en compilar a mano cosas que ESTÁN EN PORTAGE.

----------

## achaw

Esto se torno hasta gracioso. Sigue pasando lo mismo con Zapa....

Saludos

----------

## ZaPa

Vale,perfecto pues ya desinstalé lo que instale manualmente y emergí y todo perfecto  :Very Happy:  .

Muchisimas gracías 6thpink, pero me gustaria saber más o menos porqué pasa esto al intentar instalar a mano, si en el de sobremesa por ejemplo, que tengo ubuntu, me va perfecto instalandolo a mano.

Espero respuestas.

Muchas gracías.

Saludos.

----------

## i92guboj

Los ebuilds no son simplemente scripts que descomprimen algo y hacen "./configure && make && make install". 

Pueden hacer muchas más cosas, por ejemplo, si te fijas, a mano se instalaba en /usr/local, mientras que con el ebuild se instala en /usr, esto es porque el ebuild pasa el parámetro --prefix=/usr al script configure (no lo he comprobado, pero seguramente sea así). De igual forma, hay muchas más opciones, según cada configure. Los ebuilds pueden mover cosas, cambiarlas, parchearlas, poner -D[efines] a la hora de compilar, que activarán o desactivarán cosas... Muchas cosas. Y según las USE flags y otros factores (como la arquitectura, por ejemplo) se activan unas cosas, o se desactivan otras, o se hacen de forma ligeramente distinta.

Si todo fuera "./configure && make && make install" entonces ¿para que leches querríamos portage? En cada distro, el software se instala con un gestor, y en gentoo ese gestor es emerge, en mandrake es urpmi y en debian quickpkg. Cada una tiene el suyo, y se recomienda, siempre que sea posible, el uso del mismo para instalar todo el software necesario.

----------

## ZaPa

Hombre en este caso solo se podia hacer un make y make install.

Está cláro que siempre recomiendan instalar programitas desde el gestor de cada distribución pero.... cláro, yo siempre he pensado que se aprende más cuando uno lo hace automáticamente que a cuando ya te lo dan 'masticado', no crees? es por eso que me gusta probar a instalar a mano, pero el problema de esta suite de aircrack no se cual es pero no funcióna la instalación a mano.

Saludos.

Muchas gracías.

Espero respuestas.

----------

## i92guboj

Si lo haces por aprender algo, intenta no cargarte tu distribución por el camino.

En primer lugar, léete la documentación que venga con la aplicación. Vendrá en un archivo README o INSTALL o similar, una vez que lo desempaquetes. Luego compílalo, pero no lo instales. Puedes usar el programa desde tu home sin necesidad de contaminar y romper poco a poco tu instalación de Gentoo. Si el paquete tiene un script configure, puedes usarlo para decirle que tu prefix va a ser /home/zapa/usr, en lugar de /usr: ./configure --prefix=/home/zapa/usr, de esta forma, al hacer make install se instalará en tu home, sin dañar tu instalación.

Si de verdad tienes pasión por compilarlo todo a mano, deberías probar LFS, así si aprenderás (otra cosa es que LFS como SO valga la pena para el usuario normal y corriente), pero compilando cuatro cosas en tu home para luego instalarlas de mala manera, poco vas a aprender.

----------

