Existe uma maneira de fazer um apt-get dist-upgrade
no Debian que não apenas responda automaticamente "sim" a todas as perguntas feitas, mas também use padrões razoáveis como respostas a perguntas que são sofisticadas o suficiente para exigir a exibição de várias caixas de diálogo interativas? Estou pensando aqui no material do mapa de teclas que aparece quando você atualiza libc6
e nas opções de imagem do kernel.
O objetivo é ser capaz de iniciar remotamente dist-upgrade
uma máquina bastante grande - mesmo para uma máquina que está muito atrasada - e não precisar cuidar dela, a menos que algo esteja horrivelmente, desastrosamente errado.
Certamente isso é possível?
Desde já, obrigado!
Respostas:
Se você definir
DEBIAN_FRONTEND=noninteractive
(para impedir que os prompts do debconf apareçam) e adicionarforce-confold
e adicionarforce-confdef
ao seu/etc/dpkg/dpkg.cfg
arquivo, deverá ter uma experiência de instalação de pacotes completamente não interativa. Qualquer pacote que ainda solicite informações tem um bug crítico de lançamento (e eu digo isso como um viciado em automação e como um desenvolvedor Debian).fonte
apt-listchanges
foi aberto porless
.Florian Lohoff postou uma maneira de obter o que o womble sugeria em um único comando:
Claro que você também pode usar
-o Dpkg::Options::="--force-confnew --force-confdef"
(pesquise na página de manual do dpkg por confnew). Não sei em que casos isso faria diferença. Pessoalmente, preciso da atualização não interativa para atualizar as imagens de baunilha; nesse caso, suponho que sempre é bom escolher o novo arquivo de configuração (sem--force-confdef
).fonte
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Mesmo que a resposta de womble acima seja geralmente boa, ela não funcionou para mim e eu tive que fazer uma pesquisa adicional para ficar 100% autônoma. Pensei em compartilhar o resultado de maneira concisa para simplificar as coisas para futuros visitantes.
O seguinte é um script que será executado de acordo com as recomendações de atualização das notas de versão do debian 8 (principalmente) junto com flags e variáveis de ambiente que o tornarão desacompanhado. (os
echo
são apenas para depuração e podem ser removidos - embora eu recomendo mantê-los, se o script travar, você saberá onde)fonte
> = Apt 1.1
Se você estiver usando Apt 1.1 ou acima,
--force-yes
foi substituído , então você tem que usar as opções começando com--allow
em vez disso, por exemplo--allow-downgrades
,--allow-remove-essential
,--allow-change-held-packages
.Portanto, o comando é:
Nota: Use
--force-confold
para manter a idade e--force-confnew
manter novas configurações.Fonte: CFE-2360: torne a versão do módulo de pacote apt_get ciente .
Palavras-chave:
fonte
Na
apt-get(8)
página do manual:Para referência, a
-y
opção também funcionayum(8)
.fonte