O Padrão de Hierarquia do Sistema de Arquivos requer que os arquivos de configuração para algo instalado em /opt/xyz
entrem em /etc/opt/xyz
, onde o xyz
deve corresponder. Ou seja, um aplicativo instalado em um diretório em / opt , que requer informações específicas do host os arquivos de configuração devem ter um diretório correspondente em / etc / opt no qual esses arquivos de configuração vão.
O propósito de / etc (configuração do sistema específica do host) é simplesmente declarado como:
The
/etc
hierarchy contains configuration files. A "configuration file" is a local file used to control the operation of a program; it must be static and cannot be an executable binary.
É claro que nenhuma configuração é totalmente estática, mas eu tomaria "estática" neste contexto para significar "não muda sem a intervenção do administrador".
/ etc / opt é mais específico e seu objetivo é declarado como:
Host-specific configuration files for add-on application software packages must be installed within the directory
/etc/opt/<subdir>
, where<subdir>
is the name of the subtree in/opt
where the static data from that package is stored.
Como você está instalando o software em / opt, os arquivos de configuração devem entrar em um subdiretório ou hierarquia correspondente em / etc / opt.
É claro que nada exige que seu sistema esteja em conformidade com o FHS, mas facilitará muito para que outros encontrem arquivos que possam estar procurando, pois saberão onde podem espere encontrá-los.
Como se trata de software desenvolvido internamente, sugiro também que você torne a localização configurável . Mesmo que seja apenas configurável através de uma declaração de macro feita no makefile e efetuada através de uma reconstrução completa a partir da fonte, ainda é muito melhor do que codificar um local específico no código-fonte em todos os locais onde você deseja abrir um arquivo de configuração.