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:
El ejecutable no está en un subdirectorio incluido en el $ PATH.
La solución es escribir el ejecutable con la ruta completa ó cambiar al directorio donde
este el programa y escribir ./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.
El comando/programa que habeis escrito no existe.
Faltan variables de entorno.
Busca ficheros de documentación del programa, o prueba comando --help,
para ver si hace falta añadir variables de entorno, para el uso del mismo.
Otra respuesta que podemos obtener al intentar ejecutar un comando/programa es 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 comando
Esto 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.