GentooLinuxpossui um conjunto de ferramentas para auxiliarfundindoconf muda quando alguém atualiza um pacote. Por exemplo, a conf-update
ferramenta ou a dispatch-conf
ferramenta.
Quando atualizo pacotes no Ubuntu, no entanto, só tenho a opção de (1) Usar o novo arquivo conf, (2) Usar o arquivo conf antigo, (3) Iniciar um shell.
Não existe nenhuma ferramenta no Ubuntu semelhante a conf-update
ou dispatch-conf
?
Mais explicação:
Digamos que exista um serviço cujo arquivo de configuração seja /etc/something.conf
. A instalação do something
pacote fornecerá uma configuração 'padrão' com todas as opções comentadas. Em seguida, modifico as opções conforme necessário.
Depois, há uma atualização e, com a atualização, uma nova configuração ‘padrão’ é instalada. Algumas opções podem ficar obsoletas, novas opções podem ser adicionadas e a descrição das opções existentes pode ser corrigida.
Agora, esta configuração 'padrão' obviamente entra em conflito com o arquivo já editado /etc/something.conf
.
EmGentooLinux, a nova configuração será salva com um nome exclusivo, com um aviso impresso informando sobre "um arquivo de configuração alterado/atualizado". Em seguida, executo conf-update
o que me ajudará a realizar a mesclagem bidirecional nos arquivos de configuração afetados. Para cada alteração, tenho as opções de (1) manter minha versão, (2) usar a versão do pacote ou (3) editar manualmente. Normalmente eu escolho (2) para alterações de comentários, (1) para manter minhas alterações específicas e (3) se eu tiver divergido significativamente do padrão.
Eu gostaria de ter o mesmo controle/interação no Ubuntu, se possível.
Responder1
Ao atualizar via apt-get
, geralmente é exibido um aviso sobre o que fazer com o arquivo de configuração (instalar a nova versão, manter a versão antiga, etc.).
Se optarmos por manter a versão atual, os novos arquivos de configuração serão armazenados com uma extensão (.dpkg-dist).
O seguinte comando pode ser usado para listar os novos arquivos:
find /etc -type f -name "*.dpkg-dist"
E para agir nesses arquivos de configuração, podemos usar o fornecidoUCFferramenta. Sua sintaxe é:
ucf <new-file> <old-file>
Por exemplo,
ucf /etc/sysctl.conf.dpkg-dist /etc/sysctl.conf
Veja também,
https://raphaelhertzog.com/2010/09/21/debian-conffile-configuration-file-gerenciado-by-dpkg/