Eu fiz o seguinte:
ec2run ami-3c994355 --region us-east-1 -n 1 -t m1.large -z us-east-1d
Na máquina:
sudo apt-get update
sudo apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Ainda recebo um prompt perguntando qual arquivo de configuração eu quero usar. Estas são as linhas que vêm antes do prompt:
Setting up grub-pc (1.99-21ubuntu3.1) ...
então:
┌───────────────────────────────────────────────────────┤ Configuring grub-pc ├───────────────────────────────────────────────────────┐
│ A new version of configuration file /etc/default/grub is available, but the version installed currently has been locally modified. │
│ │
│ What do you want to do about modified configuration file grub? │
│ │
│ install the package maintainer's version │
grub2
apt
amazon-ec2
fratrik
fonte
fonte
Respostas:
O
/etc/default/grub
arquivo é gerado no momento da instalação do pacote, o que é necessário porque se integra ao debconf. Isso significa que ele não pode ser tratado como um arquivo conf do dpkg e, portanto, o tratamento do arquivo de configuração do dpkg não o conhece.Em vez disso, ele usa
ucf
uma ferramenta Debian mais sofisticada para lidar com a configuração. Infelizmente, isso não entende as opções do dpkg, portanto, a configuraçãoDpkg::Options::="--force-confdef"
não ajudará. Porém, ele tem sua própria maneira de fazer atualizações sem aviso prévio, através das variáveis de ambienteUCF_FORCE_CONFFNEW
eUCF_FORCE_CONFFOLD
.ucf
usadebconf
para solicitar, portanto, configurar a interface debconf paranoninteractive
também silenciará a mensagem. Se você realmente deseja atualizações não interativas, precisará fazer isso de qualquer maneira - pacotes arbitrários podem fazer perguntas sobre o debconf (embora elas geralmente não sejam feitas durante as atualizações).Você pode definir a interface debconf como única adicionando
DEBIAN_FRONTEND=noninteractive
ao seu ambiente ou defini-la permanentemente executandodpkg-reconfigure debconf
e selecionando o frontend não interativo. Se você estiver usando o front-end não interativo, obterá a resposta padrão para qualquer pergunta que um pacote possa fazer.Para
ucf
, a resposta padrão é "manter o arquivo existente".Portanto, seria o comando completo para fazer uma atualização realmente 100% garantida - sem aviso prévio.
Nota: É tecnicamente possível para os pacotes usar outro método de solicitação além do debconf, mas isso é contra a política Debian. Se você se deparar com esse pacote, arquive um bug.
fonte
saindo da resposta do RAOF e depois de passar inúmeras horas pesquisando na web para poder executar uma atualização completamente manual e dist-upgrade no Ubuntu 12.04, eu vim com isso graças ao fato deste post ( https: // bugs .launchpad.net / ubuntu / + source / grub / + bug / 239674 / comments / 1 ) aponta que o grub adere ao UCF e não às opções do Dpkg quando deseja usar o mantenedor de pacotes grub menu.lst em vez de qualquer menu local possível .st edições.
Deixei as opções force-confnew do Dpkg para outros pacotes que não são grub.
fonte
unattended-upgrades
e editou algumas configurações do grub: como você defineUCF_FORCE_CONFFNEW
esse contexto? Ou você precisaria atualizar o grub da lista negra?As soluções anteriores não funcionariam com 16.04. Isso funciona a partir desta resposta no estouro de pilha :
fonte
Eu tenho discutido com o mesmo problema no Ubuntu 18.04 nos últimos dias. Ao iniciar uma nova instância do EC2 (especificamente ami-00035f41c82244dab), executei um script de provisionamento automatizado (via configuração de dados do usuário fornecida no momento da inicialização), uma das primeiras etapas para executar a atualização / atualização adequada.
O script é bloqueado enquanto o usuário é solicitado sobre os arquivos GRUB modificados - primeiro / etc / default / grub e depois /boot/grub/menu.lst. Como isso está sendo executado em um modo autônomo quando fornecido como Dados do Usuário, o processo é interrompido e nunca se recupera.
De muitas pesquisas no Google, parece que esse foi um problema de longa duração do GRUB, de uma forma ou de outra, com correções sendo aplicadas e depois regredindo novamente, tanto quanto eu sei.
Por fim, a única solução alternativa que consegui aplicar com êxito é o seguinte corte feio no meu script de provisionamento. Espero que isso possa tirar outra pessoa do sério!
Só posso assumir que o problema que encontrei é bastante específico da versão AMI do Ubuntu 18.04 disponível atualmente, e qualquer versão atualizada que incorpore pacotes GRUB mais recentes pode não estar sujeita ao mesmo problema. Em particular,
/etc/default/grub
é provável que a natureza das alterações não se aplique a versões mais recentes da AMI. Apenas colocando isso lá fora de qualquer maneira.fonte
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" -qq --force-yes upgrade