Como eu peço ao apt-get para pular todas as etapas de configuração pós-instalação?

11

Ao instalar alguns pacotes (como o RabbitMQ) em máquinas Debian / Ubuntu, o passo post-install é o padrão para iniciar o serviço.

Embora isso seja ótimo na maioria dos casos, em alguns casos (quando você já tem um serviço em execução na porta necessária, por exemplo), isso falha, fazendo com que apt-get falhe completamente.

Existe uma maneira de informar apt-get para ignorar todos os post-install passos para que ainda possa ser instalado corretamente?

Observação Não se trata de perguntas durante a instalação, mesmo em sessões interativas essas instalações falham porque a falha post-install da etapa não é tratada corretamente

    
por Wolph 09.01.2012 / 03:26

3 respostas

8

Como faço para pedir ao apt-get para pular qualquer passo de configuração interativa pós-instalação?

export DEBIAN_FRONTEND=noninteractive
apt-get install -y [packagename]

Editar : sim, isso foi para pular (bem, automatizar) as perguntas , verdade - desculpe.

Não há como pular scripts pós-instalação. A política oficial do Debian é editar o script para retornar um erro não-terminal ou corrigir o script. Consulte o link

Parece que você está automatizando isso para muitos servidores. Nesse caso, você provavelmente desejará criar sua própria versão do pacote e implementá-la. Outra opção é enviar um email ao mantenedor do pacote e discutir se um erro de inicialização deve ser um erro de terminal para a pós-instalação (não acredito que seja para outros pacotes como o apache ou lighttpd, por exemplo, mas posso estar errado .)

    
por 09.01.2012 / 04:28
4

O que você pode querer fazer é algo com o policy-rc.d . Veja a man page para invoke-rc.d. Você pode definir uma política para que os serviços não sejam iniciados automaticamente.

    
por 09.01.2012 / 09:16
2

isso deve funcionar

echo exit 101 > /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d
apt-get install <packagename>
rm -f /usr/sbin/policy-rc.d
    
por 15.09.2017 / 14:46