Tengo un ejecutable para el cliente de control de versiones forzado (p4
). No puedo colocarlo en /opt/local
porque no tengo privilegios de root. ¿Hay una ubicación estándar donde debe colocarse en $HOME
? ?
¿La jerarquía del sistema de archivos tiene una convención que dice que los ejecutables/binarios locales deben colocarse en $HOME/bin
? ?
No pude encontrar dicha convención mencionada en el artículo de Wikipedia para la FHS.
Además, si existe una convención, ¿tendría que incluir explícitamente la ruta al $HOME/bin
? directorio o cualquiera que sea la ubicación del bin
directorio es?
Respuesta aceptada:
En general, si un binario instalado y mantenido que no es del sistema debe ser accesible en todo el sistema para múltiples usuarios, un administrador debe colocarlo en /usr/local/bin
. Hay una jerarquía completa bajo /usr/local
que generalmente se usa para paquetes de software compilados e instalados localmente.
Si es el único usuario de un binario, instale en $HOME/bin
es la ubicación adecuada ya que puedes instalarlo tú mismo y serás el único consumidor. Si compila un paquete de software desde la fuente, también es apropiado crear una jerarquía local parcial o completa en su $HOME
directorio. La jerarquía local completa se vería así.
$HOME/bin
Binarios locales$HOME/etc
Configuración del sistema específica del host para archivos binarios locales$HOME/games
Binarios de juegos locales$HOME/include
Archivos de encabezado C locales$HOME/lib
Bibliotecas locales$HOME/lib64
Bibliotecas locales de 64 bits$HOME/man
Manuales locales en línea$HOME/sbin
Binarios del sistema local$HOME/share
Jerarquía independiente de la arquitectura local$HOME/src
Código fuente local
Al ejecutar configure
, debe definir su jerarquía local para la instalación especificando $HOME
como prefijo para los valores predeterminados de instalación.
./configure --prefix=$HOME
Ahora cuando make && make install
se ejecutan, los archivos binarios compilados, los paquetes, las páginas man y las bibliotecas se instalarán en su $HOME
jerarquía local. Si no ha creado manualmente un $HOME
jerarquía local, make install
creará los directorios que necesita el paquete de software.
Una vez instalado en $HOME/bin
, puede agregar $HOME/bin
a tu $PATH
o llama al binario usando el $PATH
absoluto . Algunas distribuciones incluirán $HOME/bin
en tu $PATH
por defecto. Puede probar esto con echo $PATH
y viendo si $HOME/bin
está ahí, o poner el binario en $HOME/bin
y ejecutando which binaryname
. Si regresa con $HOME/bin/binaryname
, entonces está en su $PATH por defecto.