Padrão de hierarquia do sistema de arquivos - Onde colocar funções de origem?

9

Eu tenho alguns scripts bash executando verificações do sistema. Estes scripts fornecem opções de configuração a partir de um arquivo / etc / healthchecks / config.

Junto com o arquivo de configuração, eu tenho um arquivo de funções compartilhadas. Os scripts devem poder originar esse arquivo e executar as funções nele.

Com base no Filesystem Hierarchy Standard, onde devo colocar o arquivo de funções compartilhadas? Não é uma configuração, então não parece que pertence a / etc, mas também não está sendo executado, portanto / usr / bin parece incorreto. Talvez / usr / lib?

    
por vastlysuperiorman 08.10.2014 / 00:11

2 respostas

7

Você deve colocar seus executáveis healthchecks em / usr / local / bin ou em / opt / bin. Se você vir sua pasta / opt vazia, significa que sua distribuição linux não a usa. Então, o local adequado seria / usr / local.

/ usr / local e / opt são onde cada pacote / programa "manual" deve ser colocado. / usr é para pacotes gerenciados por gerenciadores de pacotes (por exemplo, dpkg). / opt é o "lugar padrão" para pacotes manuais de acordo com o FHS, mas as distribuições debian usam / usr / local.

Para arquivos de configuração, eles devem ser colocados em / usr / local / etc, já que / etc é para arquivos de configuração de pacotes automáticos e outros programas do sistema.

O local correto para suas funções compartilhadas é, então, / usr / local / share (/ usr / share é para arquivos compartilhados de pacotes automáticos). Todo arquivo projetado para ser somente de leitura e independente da arquitetura pertence a / usr / share ou / usr / local / share (se eles forem próprios de pacotes "automáticos" ou "manuais").

/ usr / lib é para bibliotecas binárias dinâmicas e estáticas (.so ou .a) e não para bibliotecas / funções "interpretadas".

Normalmente, os intérpretes têm subpastas diferentes em / etc / share / para cada versão, e dentro de cada pasta de versão, pastas diferentes para scripts, localidades, testes, amostras e assim por diante.

Se algum dia você criar um repositório oficial para seu pacote healthchecks , poderá migrar seu conteúdo de / usr / local / healthchecks para / usr / healthchecks e / etc / healthchecks.

    
por 08.10.2014 / 00:29
1

Geralmente, tento manter as coisas específicas do site fora dessas áreas reservadas do sistema. Você pode considerar o uso de sua própria hierarquia de diretórios de nível superior, assim como ao usar áreas do sistema, arquivos de sites especiais podem ser facilmente perdidos ou esquecidos durante a evolução do sistema. Outra possibilidade poderia ser / usr / local / etc .....

    
por 08.10.2014 / 00:21