Existe uma maneira padrão de manter os arquivos de configuração modificados do Linux separados e identificáveis?

Existe uma maneira padrão de manter os arquivos de configuração modificados do Linux separados e identificáveis?

OBSERVAÇÃOEsta é uma cópia de umpergunta fechada do Stack Overflow, e uma versão construtiva, creio eu, de umpergunta semelhante em falha do servidor.

Freqüentemente, preciso editar muitos arquivos de configuração em /etc, no entanto, não quero que essas alterações sejam perdidas quando realizar minha próxima atualização do sistema.

No momento, abriguei todos os arquivos de configuração, bem como alguns dos meus scripts de manutenção /opt/admine /etcdestinos com links simbólicos lá, mas isso não parece certode acordo com os padrões que eu vi. Outra opção que pensei é alojá-los em /usr/local. O documento mencionado diz que é para uso do administrador do sistema ao instalar software localmente. Isso é o mais próximo que tenho. No entanto, também /usr/localé prejudicado quando você instala um novo software não empacotado.

Existe um padrão/prática recomendada amplamente seguida sobre como mantê-los? Como esta não é uma página de discussão, as respostas devem ser definitivas e com um ou dois artigos para apoiá-las.

OBSERVAÇÃOIncluí minha própria resposta que considero mais útil até agora. Eu reabri isso aqui para que possa ser discutido e para que mais respostas cheguem.

Responder1

Embora isso não os mantenha separados,etckeeperfaz um ótimo trabalho ao rastrear alterações nos arquivos de configuração. Manter o repositório fora da caixa em algum lugar facilitaria a restauração dessas alterações em uma nova máquina.

Responder2

Você poderia usar uma ferramenta de gerenciamento de configuração para fazer isso. Isso é bem dimensionado quando você adiciona servidores com a mesma função.

Parece que você criou um que atende às suas necessidades, mas você pode querer dar uma olhada no Chef, Puppet, Ansible, Opsware ou outras ferramentas de gerenciamento/automação/orquestração de configuração, dependendo de suas necessidades e orçamento.

Responder3

Pelas respostas às perguntas que mencionei, parece haver duas soluções gerais - usar links simbólicos ou manter uma lista de arquivos (veja as respostas de ptman e Jim nas perguntas vinculadas). Não consegui encontrar um artigo sobre práticas recomendadas.

Sugiro uma solução híbrida: você mantém apenas um arquivo simples (eu chamo isso de FILES) com uma lista de arquivos de configuração. Um script lê FILESe vincula arquivos de configuração reais em uma hierarquia de sistema de arquivos duplicada em um diretório escolhido (eu chamo o script link-config-files.she o diretório system-config).

Dessa forma, você mantém arquivos apenas em um arquivo que é fácil de editar e não envolve magia de shell. Os arquivos de configuração de seu interesse podem ser acessados system-config​​graças ao link simbólico. Uma tarefa cron foi configurada para fazer backup system-config, portanto, o backup de todos os arquivos de configuração é feito automaticamente. E outro cron job é executado periodicamente, link-config-files.shentão tudo o que resta para um arquivo aparecer (ou desaparecer) system-confige fazer backup é editar FILES.

Acho que esta é a melhor solução até agora. Claro que sou tendencioso. Em todo o caso,aqui está meu roteiroe também vincula um script de backup.

informação relacionada