Crie um pacote deb a partir da diferença entre duas imagens

2

Estou mantendo uma imagem do servidor Ubuntu como um ambiente de desenvolvimento com várias implantações.

Se minha imagem de base mudar - instale um pacote, modifique arquivos conf, etc - estou corrigindo manualmente o novo sistema ou adicionando seletivamente os arquivos deb que eu sabia que adicionei. É um pouco entediante e eu perdi alguns arquivos do sistema algumas vezes.

Existe algum espaço para automatizar isso? Parece um cenário comum, mas não consigo encontrar uma solução.

Eu estava pensando em algo como pegar a saída de uma comparação rsync e gerar um pacote de instalação deb baseado nessas diferenças. Eu não tenho nenhuma experiência com qualquer um desses, então eu gostaria de verificar para ver se existe uma solução "pronta para usar" primeiro.

    
por jdwiegman 20.05.2014 / 00:31

1 resposta

1

Parece que você está pedindo o Blueprint do DevStructure:

A ideia básica é que você pode blueprint create a qualquer momento e inspecionar os projetos gerados ou e esta é a parte surpreendente, seus diffs, ou seja, as coisas que diferem entre dois projetos. Entre outras coisas inspecta os pacotes instalados .

Os blueprints criados podem ser transferidos e extraídos de um serviço de E / S do Blueprint . Eles também podem ser processados em vários formatos, como scripts de shell , (esteticamente desafiados) Modelos adicionais ou receitas do Chef e modelos do Cloudformation .

Editar Isso não renderiza suas alterações em um arquivo deb , mas se você realmente quiser, poderá criar um pacote no-op que inclua o script de shell gerado em post-install .

Edit2 Observe que isso não causa retrocesso (como desfazer as alterações nos arquivos ao remover o arquivo deb resultante). Eu não acredito que é possível ter habilidades de roll-back aparafusadas (mas olhar para NixOS nunca dói).

    
por 20.05.2014 / 09:16