Después de de esta extensa selección de datos resolvimos este contratiempo que tienen muchos los lectores. Te ofrecemos la solución y nuestro deseo es servirte de gran ayuda.
Solución:
Consulte el Estándar de jerarquía del sistema de archivos (FHS) para Linux para esto.
-
/bin
: Para binarios utilizables antes de la/usr
la partición está montada. Esto se usa para archivos binarios triviales que se usan en la etapa de inicio muy temprana o que necesita tener disponibles al iniciar el modo de usuario único. Piensa en binarios comocat
,ls
etc. -
/sbin
: Lo mismo, pero para binarios con se requieren privilegios de superusuario (raíz). -
/usr/bin
: Igual que el primero, pero para binarios generales de todo el sistema. -
/usr/sbin
: Igual que el anterior, pero para binarios con privilegios de superusuario (raíz) necesarios.
si estoy escribiendo mis propios guiones, ¿dónde debo agregarlos?
Ninguna de las anteriores. Deberías usar /usr/local/bin
o /usr/local/sbin
para scripts disponibles en todo el sistema. Él local
path significa que no está administrado por los paquetes del sistema (este es un error para los paquetes de Debian/Ubuntu).
Para guiones de ámbito de usuariousar ~/bin
(una carpeta bin personal en su directorio de inicio).
La FHS dice por /usr/local
:
Jerarquía terciaria para datos locales, específico para este host. Por lo general, tiene más subdirectorios, por ejemplo,
bin/
,lib/
,share/
.
Yo mismo tuve una pregunta similar hace más de un año: ¿El mejor directorio para colocar mis scripts bash?
Directorios del sistema para binarios
man hier
(jerarquía) enumera todos los directorios. Para obtener los que son solo para uso binario:
$ man hier | grep -E 'bin$|sbin$|^.7(/bin)|^.7(/sbin)' -A2
/bin This directory contains executable programs which are needed in single user
mode and to bring the system up or repair it.
--
/sbin Like /bin, this directory holds commands needed to boot the system, but
which are usually not executed by normal users.
--
/usr/X11R6/bin
Binaries which belong to the X-Window system; often, there is a symbolic
link from the more traditional /usr/bin/X11 to here.
--
/usr/bin
This is the primary directory for executable programs. Most programs exe‐
cuted by normal users which are not needed for booting or for repairing the
--
/usr/local/bin
Binaries for programs local to the site.
--
/usr/local/sbin
Locally installed programs for system administration.
--
/usr/sbin
This directory contains program binaries for system administration which
are not essential for the boot process, for mounting /usr, or for system
¿Dónde poner tus propios guiones?
Para que todos los usuarios accedan a sus scripts, puede ponerlos en /usr/local/bin
. Tenga en cuenta que necesita sudo
acceda a agregar/cambiar archivos aquí. Consulte: ¿Existe un lugar estándar para colocar scripts de Linux personalizados?
Para sus propios scripts de identificación de usuario, póngalos en /home/YOUR_NAME/bin
. Tenga en cuenta que primero debe crear este directorio y reiniciar el terminal para que la ruta se configure automáticamente ~/.profile
. Consulte: ¿Cómo agregar /home/username/bin a $PATH?
lo que se no se
Estoy contemplando tomar algunos de mis scripts bash más complejos en Pregúntale a Ubuntu y configurarlos con scripts de instalación en github
. Aquí hay algunos ejemplos:
- Ajuste automáticamente el brillo de la pantalla según el amanecer y el atardecer
- Un temporizador para configurar diferentes alarmas simultáneamente
- Aplicación que bloqueará la pantalla después de un tiempo determinado para Ubuntu
- Control de versión de código entre archivos locales y respuestas AU
yo pensar los scripts deben instalarse en /usr/bin
que está en $PATH, pero aún no estoy seguro del lugar apropiado.