Estou prestes a instalar o "leiningen", que é um script bash para a linguagem de programação clojure com muita utilidade ... ... mas não tenho certeza de onde é apropriado colocar um script executável no linux sistema para que fique permanentemente e estável.
Eu não acho que em qualquer lugar do / home faça sentido, mas não sei qual diretório / diretórios deve ser usado para isso.
/ usr / share?
linux
scripting
installation
directory
Kzqai
fonte
fonte
Respostas:
(Nota:
~
traduz como/home/user
neste post)Pessoalmente, coloquei todos os meus scripts de sistema personalizados
/usr/local/bin
e todos os meus scripts de bash pessoais~/bin
. Pouquíssimos programas que eu instalo se colocam no/usr/local/bin
diretório, para que não seja muito confuso e já esteja na$PATH
variável na maioria das minhas máquinas.Para adicionar
/usr/local/bin
ao caminho do sistema (se ainda não estiver lá), adicione-o a/etc/profile
:Para adicionar
~/bin
ao caminho do usuário, adicione-o a~/.bash_profile
:Às vezes, o padrão
.bash_profile
arquivo terá uma instrução if que adiciona automaticamente~/bin
ao$PATH
se ele existir, então criar o~/bin
e abrir um novo terminal para ver se o seu já faz isso.fonte
export
uma variável várias vezes (e provavelmente seu sistema já foi marcadoPATH
para exportação, para que você não precise fazer isso sozinho)./ usr / local / é realmente o lugar certo, enquanto / opt é realmente para aplicativos de terceiros; "/ opt está reservado para a instalação de pacotes de aplicativos complementares." Isso faz parte do padrão de hierarquia do sistema de arquivos.
Consulte http://www.pathname.com/fhs/pub/fhs-2.3.html para obter uma discussão sobre / opt.
Para / usr / local /, é para "uso pelo administrador do sistema". Só não se esqueça das coisas lá - documente.
fonte
/usr/local
- como o nome indica - é para o administrador local e/opt
para coisas que não são oficialmente distribuídas, como software comercial de terceiros gerenciado por um processo semelhante (pode ser substituído ou apagado em uma atualização de upstream), mas não gerenciado pelo gerenciador de pacotes da distribuição, ou talvez realmente distribuído como RPM ou.deb
pacotes, mas não organizado e empacotado em conformidade com todas as políticas e convenções da distribuição./usr/local
mais adiante neste documento.Historicamente, você usaria algo como / opt. Tudo está bem, desde que seja atualizado em $ PATH para os usuários que deveriam tê-lo (portanto, qualquer coisa em / home é uma má idéia).
fonte
/usr/share/clojure
parece um local comum para colocar os binários e bibliotecas do clojure - por que eu não sei, parece natural/usr/local/share/clojure
- então criar umsite
subdiretório para esses scripts bash é bom.O ponto geral é que faz mais sentido organizar scripts por função, não ter todos os scripts bash no mesmo local.
fonte
/usr/share
para isso. Antes de tudo,share
significa arquivos independentes de arquitetura (ou seja, compartilhados entre arquiteturas). Por esse motivo, bibliotecas e executáveis não pertencem a umshare
diretório. Em segundo lugar, exceto a partir de/usr/local
nada além do que o gerente de pacotes de distribuição deve escrever/usr
./usr/local
, Acredito que haja alguma confusão no significado de "local".Pelo que entendi, "local" não significa "originário da / da máquina local", mas, mais simplesmente, "específico da máquina local", que pode ou não ser originário da / da máquina local.
fonte