Fornecendo um arquivo de configuração personalizado para outro pacote


8

Usamos o Ubuntu no trabalho e precisarei fazer as mesmas alterações de configuração em muitos sistemas, por isso estou empacotando-os. Uma das mudanças na configuração que preciso fazer é definir o lightdm como login automático. Para que eu empacote essa alteração, parece que vou precisar ignorar o /etc/lightdm/lightdm.conf existente e substituí-lo pelo meu lightdm.conf personalizado. Parece uma má ideia.

Como posso fazer isso de uma maneira que não cause rupturas e esteja alinhado com o funcionamento do resto da comunidade?

Respostas:


9

Isso geralmente é feito criando um pacote que usa dpkg-divertem seus scripts de mantenedor para mover o antigo arquivo de configuração de lado:

  • Na sua pré-instalação, desvie o arquivo.

    dpkg-divert --add --package $your_package_name --rename \
        --divert /path/to/file.disabled \
        /path/to/file
    
  • No seu postrm, desvie o arquivo de volta.

    dpkg-divert --remove --package $your_package_name --rename \
        /path/to/file
    

Veja: http://www.debian.org/doc/debian-policy/ap-pkg-diversions.html

Uma solução que ajuda a abstrair dpkg-diverté o config-package-devpacote criado e mantido pelo projeto Debathena do MIT. Eles têm um tutorial completo .


Nos exemplos da página vinculada, parece que a --divertopção deve ser fornecida nos arquivos preinst e postrm.
nmgeek

Parece haver documentação mais recente em wiki.debian.org/ConfigPackages , que recomenda instalar o arquivo em / etc / site / e usar links simbólicos em vez de instalar diretamente em / etc /. Também recomenda o uso de pós-instalação em vez de pré-instalação e pré-termo, em vez de pós-termo.
Ulf Adams
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.