Estoy tratando de entender el sistema de archivos de Linux y una de las preguntas es:
1- ¿Por qué hay varias carpetas para archivos ejecutables /usr/bin
: /usr/sbin/
y /usr/local/bin
? ¿Hay alguna diferencia entre ellos?
2- Si tengo un archivo ejecutable y quiero agregarlo a mi sistema, ¿cuál de las terceras ubicaciones es la mejor para mí?
Respuesta1
- Ejecute
man hier
desde la línea de comando para obtener la respuesta a su primera pregunta. - Eso depende. Ver/usr/bin frente a /usr/local/bin en Linux
Respuesta2
Se llama Estándar de jerarquía del sistema de archivos y se pueden encontrar los detalles sangrientosaquí
Generalmente:-
/usr/bin
es para programas de usuario.
/usr/sbin
es para programas del sistema, aquellos que utilizan los administradores, pero no los usuarios generales.
Tanto lo anterior comienza /usr
como el estándar establece que estos podrían alojarse en un servidor compartido (usando NFS, por ejemplo) y acceder a ellos desde los distintos hosts de una red. Las variantes sin /usr
(es decir, /bin
y /sbin
) son para programas esenciales que el sistema necesita para arrancar (ya que los archivos en /usr
el árbol no estarán disponibles si están en un recurso compartido NFS).
/local/bin
son para programas de usuario compilados localmente.
Si tiene un ejecutable que no se instaló usando el administrador de paquetes del sistema, entonces supongo que debería colocarlo /usr/local/bin
si lo van a usar muchos usuarios, o podría dejarlo en su directorio de inicio si solo lo va a usar. por tí mismo.