Gostaria de poder visualizar os scripts / gatilhos associados a um pacote que está prestes a ser atualizado, para que eu possa saber, por exemplo, se isso resultará no reinício do servidor da web. Não consigo encontrar uma opção de aptidão para me mostrar isso (ou apt / dpkg); o melhor que posso obter é o conteúdo (arquivos). Existe alguma combinação de opções de simulação / verbose / conteúdo que eu perdi que mostrará isso?
Além disso, se um pacote resultar em algo acontecendo - como uma reinicialização do serviço - que eu não quero que ocorra agora, existe uma maneira de instalar o pacote sem executar alguns ou todos os scripts?
Respostas:
Você pode imprimir o arquivo de controle e outras informações com
dpkg -I package.deb
ou usardpkg -e package.deb
para extrair apenas os arquivos de informações de controle.Além disso, você pode executar uma execução a seco para ver o que o dpkg faria com
--dry-run
:fonte
DEBIAN
diretório com ocontrol
arquivo e os vários arquivos de script que serão executados.postinst
é geralmente muito interessante, pois será executado depois que o pacote for instalado com sucesso.Não, não conheço nenhuma maneira de fazer isso usando o aptitude.
Você pode olhar diretamente para os scripts; os scripts executados durante a atualização estão contidos no pacote. Descompacte o deb usando ar:
Em seguida, verifique
control.tar.gz
, ele contém os scripts.fonte
Também existe a
--debug
opção dedpkg
, como emsudo dpkg --debug=72200 -i package.deb
Existem várias opções disponíveis para saída detalhada e elas podem ser combinadas.
Você pode ver todas as opções disponíveis executando:
dpkg --debug=help
.fonte
Não, você não pode executar parte de um script de manutenção, não há ganchos para fazer isso acontecer.
Você só pode ver o que o script faria examinando-o manualmente - novamente, nenhuma "execução a seco" pode dizer exatamente o que fará e o que não fará, apenas "Eu executarei o postinst com esses argumentos".
Esses são os motivos pelos quais temos ambientes de teste e teste.
fonte