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/useren esta publicación)Personalmente, puse todos mis scripts de sistema personalizados
/usr/local/biny todos mis scripts de bash personales~/bin. Muy pocos programas que instalo se colocan en el/usr/local/bindirectorio, por lo que no está muy abarrotado y ya estaba en la$PATHvariable en la mayoría de mis máquinas.Para agregar
/usr/local/bina la ruta de su sistema (si aún no está allí) agregue esto a/etc/profile:Para agregar
~/bina la ruta de su usuario, agregue esto a~/.bash_profile:A veces, el
.bash_profilearchivo predeterminado tendrá una instrucción if que se agregará automáticamente~/bina$PATHsi existe, así que cree~/biny abra un nuevo terminal para ver si el suyo ya lo hace.fuente
exportuna variable varias veces (y probablemente su sistema yaPATHesté 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/optpara 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.debpaquetes, pero no organizado y empaquetado de acuerdo con todas las políticas y convenciones de la distribución./usr/localmá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/clojureparece 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 unsitesubdirectorio 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/sharepara usar esto. En primer lugar,sharesignifica archivos independientes de la arquitectura (es decir, compartidos entre arquitecturas). Por esa razón, las bibliotecas y los ejecutables no pertenecen a unsharedirectorio. En segundo lugar, excepto por/usr/localnada 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