Estoy a punto de instalar "leiningen", que es una secuencia de comandos bash para el lenguaje de programación clojure con mucha utilidad ... ... pero no estoy seguro de dónde es apropiado ingresar una secuencia de comandos ejecutable en Linux sistema para que esté disponible de forma permanente y estable.
No creo que ningún lugar en / home tenga sentido, pero no sé qué directorio / directorios se deben usar para eso.
/ usr / share?
Respuestas:
(Nota: se
~
traduce como/home/user
en esta publicación)Personalmente, puse todos mis scripts de sistema personalizados
/usr/local/bin
y todos mis scripts de bash personales~/bin
. Muy pocos programas que instalo se colocan en el/usr/local/bin
directorio, por lo que no está muy abarrotado y ya estaba en la$PATH
variable en la mayoría de mis máquinas.Para agregar
/usr/local/bin
a la ruta de su sistema (si aún no está allí) agregue esto a/etc/profile
:Para agregar
~/bin
a la ruta de su usuario, agregue esto a~/.bash_profile
:A veces, el
.bash_profile
archivo predeterminado tendrá una instrucción if que se agregará automáticamente~/bin
a$PATH
si existe, así que cree~/bin
y abra un nuevo terminal para ver si el suyo ya lo hace.fuente
export
una variable varias veces (y probablemente su sistema yaPATH
esté marcado para la exportación, por lo que no tiene que hacerlo usted mismo)./ usr / local / es realmente el lugar correcto, mientras que / opt es realmente para aplicaciones de terceros; "/ opt está reservado para la instalación de paquetes de software de aplicación complementarios". Esto es parte del estándar de jerarquía del sistema de archivos.
Consulte http://www.pathname.com/fhs/pub/fhs-2.3.html para obtener más información sobre / opt.
Para / usr / local /, es para "uso por parte del administrador del sistema". Simplemente no te olvides de las cosas allí, documentarlo.
fuente
/usr/local
, como su nombre lo indica, es para el administrador local y/opt
para cosas que no se distribuyen oficialmente, como software comercial de terceros que se gestiona mediante un proceso similar (podría reemplazarse o borrarse en una actualización de upstream) pero no administrado por el administrador de paquetes de la distribución, o tal vez distribuido realmente como RPM o.deb
paquetes, pero no organizado y empaquetado de acuerdo con todas las políticas y convenciones de la distribución./usr/local
más adelante en el documento.Históricamente usarías algo como / opt. Todo está bien siempre que se actualice en $ PATH para los usuarios que se supone que lo tienen (por lo tanto, cualquier cosa en / home es una mala idea).
fuente
/usr/share/clojure
parece un lugar común para colocar los binarios y bibliotecas de clojure, por qué no lo sé, parece natural para ellos/usr/local/share/clojure
, por lo que crear unsite
subdirectorio debajo de esto para estos scripts de bash parece estar bien.El punto general es que tiene más sentido organizar los scripts por función, no tener todos los scripts de bash en el mismo lugar.
fuente
/usr/share
para usar esto. En primer lugar,share
significa archivos independientes de la arquitectura (es decir, compartidos entre arquitecturas). Por esa razón, las bibliotecas y los ejecutables no pertenecen a unshare
directorio. En segundo lugar, excepto por/usr/local
nada más que el administrador de paquetes de distribución debería escribir/usr
./usr/local
, Creo que hay algo de confusión en el significado de "local".Según tengo entendido, "local" no significa "originado en / desde la máquina local" sino, más simplemente, "específico de la máquina local", que puede o no originarse en / desde la máquina local.
fuente