Teste automatizado para script de instalação

2

Estou escrevendo um script de instalação para um appliance que modifica os arquivos de configuração do sistema em /etc (entre outras coisas). Como posso testar este script não destrutivamente?

Idealmente, gostaria de executar o script em uma pseudo-sandbox que forneça uma camada sobre o sistema de arquivos existente e, em seguida, examine os arquivos alterados posteriormente.

Não estou preocupado com o fato de o script ser intencionalmente malicioso, mas gostaria de proteger os arquivos do sistema que estão sendo modificados ou excluídos de qualquer forma.

    
por Peter Gibson 28.02.2014 / 02:42

2 respostas

1

Você pode usar o Docker para criar um sistema operacional em uma imagem de contêiner e, em seguida, executar o script de instalação no contêiner ativado. Depois, você pode usar o comando docker diff para ver quais arquivos ele alterou no contêiner. O contêiner é isolado do host, portanto, seus arquivos /etc reais não seriam afetados.

    
por 28.02.2014 / 09:40
1

Seu melhor ambiente seria um vm local com um pequeno sistema de arquivos montado a partir de um arquivo no sistema host.

Isso permite que você tire uma cópia do sistema de arquivos vm após a instalação inicial da vm.

Em seguida, você pode redefinir o sistema de arquivos, voltar para a cópia salva, depois de ter executado um teste de sua instalação na vm. Então você pode repetir o seu teste.

    
por 28.02.2014 / 04:40