Como la mayoría de la gente, ocasionalmente instalo cosas o escribo/uso scripts que provienen de fuera de los repositorios de mi distribución o que están "hechos a mano", por lo que es posible que no terminen en la ruta predeterminada del sistema o no deban agregarse a ella.
Ahora hay diferentes maneras de proceder.
Algo que quizás solo quiera ejecutar ocasionalmente o que solo necesite ejecutar en un directorio determinado de todos modos puede permanecer como está desde cd ~/stuff/fancyapp
entonces ./fancyexecutable
es lo suficientemente bueno.
Pero a veces, es posible que desee poder simplemente hacer algo como backup.sh
desde cualquier ubicación en la que me encuentre u otros programas necesiten conocer un determinado ejecutable y, para ello, puedo actualizar mi $PATH con algo como PATH=$PATH:~/bin/backup/
y export PATH
reiniciar mi sesión. Sin embargo, esto me lleva al problema de tener un "contenedor de inicio" donde muevo/enlazo simbólicamente cada ejecutable ~/bin/
, o cuando quiero tener un contenedor de inicio antiguo, tener que agregar cada subdirectorio a mi ruta. (O podríahackear algo juntos para hacer que la ruta sea recursiva)
Entonces, ¿cuál es la forma adecuada, recomendada y segura de manejar el suyo propio bin
que tendrá múltiples ejecutables y subdirectorios?
Respuesta1
Instalo todo el software integrado localmente en /home/user/.local
el directorio. Este directorio básicamente copia la estructura de directorios /usr
como puede ver:
> ls ~/.local
bin etc include jars lib lib64 libexec man share
Puede indicar las herramientas de compilación para configurar este directorio como prefijo de instalación. Algunas herramientas utilizan el valor de la variable de entorno PREFIX
para determinar la ubicación de instalación, por lo que es una buena idea configurarlo también, pero no confíe en ello.
Tenga en cuenta que tendrá que establecer el valor de varios entornos como PATH
,,, LD_LIBRARY_PATH
en PKG_CONFIG_PATH
consecuencia CLASSPATH
.