GNU/Linux >> Tutoriales Linux >  >> Linux

¿Dónde se debe colocar un ejecutable local?

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.

Relacionado:Debian:busque los últimos archivos modificados en los últimos 2 minutos en su directorio de inicio que contengan una determinada cadena.
Linux
  1. ¿Dónde buscan los ejecutables los objetos compartidos en tiempo de ejecución?

  2. ¿Cómo hacer que un programa sea ejecutable desde cualquier lugar?

  3. ¿Qué distribuciones tienen $home/.local/bin en $path?

  4. ¿Cómo poner el ejecutable en /usr/local/bin?

  5. ¿Dónde colocar los ejecutables locales?

¿Dónde se deben establecer las variables de entorno para Jenkins?

cmake --version apunta a /usr/bin/cmake mientras que cmake apunta a /usr/local/bin

¿Dónde debo instalar mi aplicación en Linux?

Diferencia entre /bin y /usr/bin

¿Dónde se deben montar los discos permanentes adicionales?

La mesa está marcada como bloqueada y debe repararse