Correto, [/usr]/[s]bin
é para o uso do criador de distro. Scripts de usuários locais pertencem a /usr/local
, especificamente /usr/local/bin
neste caso.
Eu escrevi um pequeno script bash para iniciar, parar e reiniciar meus aplicativos java e quero disponibilizá-lo para todos os usuários para que pudessem executá-lo.
Devo apenas colocá-lo em /usr/bin
para fazer isso? É o lugar certo para meus scripts? Não é para o script de pacote e coisas do tipo instalado apenas?
Correto, [/usr]/[s]bin
é para o uso do criador de distro. Scripts de usuários locais pertencem a /usr/local
, especificamente /usr/local/bin
neste caso.
Eu recomendaria colocar em /opt
. Você pode criar um diretório com o nome do seu aplicativo em /opt
e, em seguida, no diretório bin
abaixo dele, para que seu caminho fique assim:
/opt/<your_app_name>/bin
Depois, você cria dois scripts em /etc/profile.d
- <your_app_name>.sh
e <your_app_name>.csh
e, nesses scripts, adiciona o caminho acima à variável global $PATH
para disponibilizar executáveis do seu aplicativo para todos os usuários. Isso é tudo.
Acho que essa abordagem é mais limpa do que colocá-la em /usr/local/bin
, já que todas as alterações no sistema estão localizadas em um único diretório (com exceção de dois scripts em /etc/profile.d
), é fácil remover seu aplicativo manualmente e seus arquivos não se misturam com arquivos de outros aplicativos (o que pode ser o caso de /usr/local
). Essa abordagem também está em conformidade com o "Padrão de hierarquia do sistema de arquivos" .
Certamente não há nada que impeça você de colocar um script em / usr / bin, dando a ele permissões de execução mundial (algo como chmod 755
) e permitindo que os usuários o executem. Se você quiser se conformar com "O modo UNIX", há locais mais apropriados. Tenho certeza de que vou começar uma trilha de comentários sobre por que isso está errado, mas eu aprendi a armazená-lo em /usr/local/bin/
. O diretório /usr/local
normalmente é para software não gerenciado diretamente pela distribuição, como aplicativos ou scripts de terceiros.