Como você provavelmente sabe, por padrão, quando você instala um pacote em um sistema baseado no Debian ou Ubuntu, se o pacote contiver um serviço, esse serviço geralmente será ativado e iniciado automaticamente quando você instala o pacote.
Isso é um problema para mim.
Percebi que precisava gerenciar modelos para a construção de contêineres LXC. Existem vários contêineres, cada um correspondente a uma versão do Debian ou Ubuntu. (Também existem contêineres baseados na Red Hat, mas eles não são relevantes aqui.)
/var/lib/libvirt/filesystems/debian6_template
/var/lib/libvirt/filesystems/debian7_template
/var/lib/libvirt/filesystems/ubuntu1004_template
/var/lib/libvirt/filesystems/ubuntu1204_template
Ocasionalmente, descobrirei que os modelos estão com um pacote ausente ou precisam de alguma outra alteração, por isso vou fazer um chroot neles para instalar o pacote. Infelizmente, quando faço isso, acabo com várias cópias do serviço do pacote em execução!
A título de exemplo, eu achei que os modelos não tinham um daemon syslog, então instalei um:
for template in /var/lib/libvirt/filesystems/{debian,ubuntu}*_template; do
chroot $template apt-get install rsyslog
done
E prontamente terminei com quatro cópias do rsyslog em execução. Sem mencionar duas cópias do exim4. Opa!
Eu li em algum lugar (embora não possa encontrá-lo novamente agora) que não deveria iniciar serviços ao executar um chroot, mas isso claramente não está acontecendo aqui.
Um hack desagradável potencialmente viável exige a substituição temporária dos vários comandos que realmente iniciam os serviços, como start-stop-daemon
e initctl
, embora isso seja muito mais trabalho do que eu realmente queria. Se eu não tenho outra escolha, no entanto ...
A solução ideal aqui seria que os sistemas baseados no Debian parassem de fazer essa porcaria, mas na falta disso, talvez uma opção de linha de comando obscura ou não documentada para apt-get
?
Caso não esteja claro, eu realmente quero manter qualquer coisa relacionada ao gerenciamento de modelos fora dos modelos, se possível.