Como mostro as ações que a instalação de um pacote .deb levará?

28

Gostaria de poder visualizar os scripts / acionadores associados a um pacote devido a atualização, para que eu possa dizer, por exemplo, se isso resultará na reinicialização do servidor da web. Não consigo encontrar uma opção de aptitude para me mostrar isso (ou o apt / dpkg); o melhor que posso conseguir é o conteúdo (arquivos). Existe alguma combinação de opções de simular / verbose / conteúdo que eu perdi que mostrará isso?

Além disso, se um pacote resultar em algo acontecendo - como uma reinicialização de serviço - que eu não quero que aconteça agora, existe uma maneira de instalar o pacote sem executar alguns ou todos os scripts?

    
por Sam Brightman 26.11.2009 / 11:32

3 respostas

16

Você pode imprimir o arquivo de controle e algumas outras informações com dpkg -I package.deb ou usar dpkg -e package.deb para extrair apenas os arquivos de informações de controle.

Além disso, você pode fazer uma execução a seco para ver o que o dpkg faria com --dry-run :

dpkg --dry-run -i package.deb
    
por 26.11.2009 / 13:21
6

Não, não sei de nenhuma maneira de fazer isso usando o aptitude.

Você pode ver os scripts diretamente; os scripts que são executados durante a atualização estão contidos no pacote. Descompacte o deb usando ar:

ar -x package.deb

Depois, olhe para control.tar.gz , ele contém os scripts.

    
por 26.11.2009 / 12:34
0

Não, você não pode executar parte de um script de manutenção, não há ganchos para que isso aconteça.

Você só pode ver o que o script faria ao examiná-lo manualmente - mais uma vez, nenhum "teste direto" pode dizer exatamente o que ele fará ou não, somente "Eu executarei o postinst com esses argumentos" .

Estas são as razões pelas quais temos ambientes de teste e teste.

    
por 26.11.2009 / 14:31