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/binBinarios locales$HOME/etcConfiguración del sistema específica del host para archivos binarios locales$HOME/gamesBinarios de juegos locales$HOME/includeArchivos de encabezado C locales$HOME/libBibliotecas locales$HOME/lib64Bibliotecas locales de 64 bits$HOME/manManuales locales en línea$HOME/sbinBinarios del sistema local$HOME/shareJerarquía independiente de la arquitectura local$HOME/srcCó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.