
Tenho tentado suprimir um diálogo interativo em relação a arquivos de configuração modificados e conflitos. Estive em todos os resultados da pesquisa e todo mundo continua copiando e colandoa mesma resposta exatasem fornecer contexto adicional.
Encontrei a solução para colocar um arquivo de configuração /etc/apt/apt.conf.d
que contém o item bem copiado e colado:
Dpkg::Options {
"--force-confdef";
"--force-confold";
}
Eu incluí APT::Get::Assume-Yes "true";
eesseestá absolutamente funcionando. Confirmei com apt-config
isso oDpkg::Options
sãosendo carregado. Mas toda vez que tento DEBIAN_FRONTEND=noninteractive sudo apt upgrade
essa configuração, a caixa de diálogo interativa interrompe meu script automatizado.
Alguém poderia fornecer mais do que copypasta sobre por que essa configuração está falhando? Por que essas configurações seriam ignoradas?
Para reproduzir minha situação:
- Crie uma nova instância do Ubuntu 20.04 no Lightsail
- Adicionar
/etc/apt/apt.conf.d/99confold
contendo as configurações acima - Modifique
/etc/cloud/cloud.cfg
de alguma forma sudo apt update
entãosudo apt upgrade
A caixa de diálogo de conflito ainda aparece no final das atualizações.
Responder1
Existem alguns motivos pelos quais a configuração Dpkg::Options que você especificou em seu arquivo /etc/apt/apt.conf.d pode ser ignorada:
Você pode estar usando uma versão do apt que não suporta a configuração Dpkg::Options. A configuração Dpkg::Options foi introduzida na versão 1.1.0 do apt, portanto, se você estiver usando uma versão mais antiga, esta configuração será ignorada.
A configuração Dpkg::Options pode ser substituída por uma configuração em outro arquivo de configuração. O apt lê arquivos de configuração de vários locais, e as configurações em arquivos posteriores podem substituir as anteriores. Por exemplo, se você tiver um arquivo /etc/apt/apt.conf.d/99force-confold que contém a linha Dpkg::Options {"--force-confnew"};, esta configuração substituirá o --force- confold que você especificou em seu arquivo de configuração anterior.
A configuração Dpkg::Options pode não se aplicar ao pacote ou operação específica que você está executando. A configuração Dpkg::Options afeta como o dpkg lida com arquivos de configuração ao instalar ou atualizar pacotes, mas pode não se aplicar a outras operações, como remover pacotes ou atualizar o cache de pacotes.
Se você estiver usando uma versão recente do apt e a configuração Dpkg::Options não estiver sendo substituída por outro arquivo de configuração, é possível que a opção --force-confold não seja aplicável à operação que você está tentando realizar. Você pode tentar especificar a opção --force-confdef, que força o dpkg a usar a versão padrão de qualquer arquivo de configuração modificado.
Também é importante notar que a configuração DEBIAN_FRONTEND=noninteractive não suprime todos os prompts interativos ao usar o apt. Ele apenas suprime prompts especificamente relacionados ao sistema debconf, que é usado para fazer perguntas e definir opções de configuração durante a instalação de certos pacotes. Se você estiver vendo um prompt interativo que não está relacionado ao debconf, esta configuração não irá suprimi-lo.