A todos nos a ocurrido alguna vez, que al intentar ejecutar un comando/programa
hemos obtenido como respuesta command not found.
Esto significa que el shell/intérprete de comandos no encontró el comando que queríamos ejecutar. Las causas más comunes suelen ser:
./programa, donde programa es el nombre del ejecutable.
NOTA: Algunos usuarios tienen el sistema configurado para que no sea necesario
esto último que hemos explicado. Para ello tienen incluido en el $ PATH ".".
Esto hará que podamos ejecutar cualquier programa independientemente del directorio donde
se encuentre. Esta práctica es totalmente desaconsejable por los problemas de seguridad
que puede dar.
comando --help,
para ver si hace falta añadir variables de entorno, para el uso del mismo.Permission denied.
El error es bien claro, el ejecutable existe pero no tenemos permiso para ejecutarlo, comprueba que lo podemos ejecutar, es decir, tiene una x en el grupo al que pertenezcamos: dueño, grupo, u otros. Mas información sobre permisos en la subsección ¿Cómo se cambian los permisos de ficheros y directorios?.
Por ultimo, podemos obtener un error en el que se nos informa que cierta librería no se encuentra.
Ejecuta el comando:
[asimov@asimovI bin] ldd comandoEsto mostrará todas las librerías compartidas que el comando/programa utiliza/necesita para funcionar.
Si no tenemos algunas, las tenemos que instalar, pero si las tenemos tenemos que comprobar
que /sbin/ld (el cargador de librerías dinámicas) sabe donde están,
para ello hemos de añadir una entrada en el fichero /etc/ld.so.conf
que consiste en poner el directorio donde esta la librería, luego ejecutamos
/sbin/ldconfig -D para cerciorarnos que la lee.