Eu apenas tentei fazer um sudo do_release_upgrade
em um servidor AWS EC2 Ubuntu 13.10 para atualizar para 14.04. Tudo estava indo bem até eu receber a seguinte mensagem:
A new version of /boot/grub/menu.lst is available, but the version installed currently has been locally modified. What would you like to do about menu.lst? * install the package maintainer's version * keep the local version currently installed * show the differences between the versions * show a side-by-side difference between the versions * show a 3-way difference between available versions * do a 3-way merge between available versions (experimental) * start a new shell to examine the situation <Ok>
Eu certamente não tem modificações menu.lst, então eu assumir as modificações locais são Amazon está fazendo. Vou clicar na opção "manter a versão local atualmente instalada" e esperar o melhor.
Mas por que estou recebendo essa mensagem e essa é a maneira correta de lidar com isso?
ubuntu
amazon-ec2
upgrade
Mark Amery
fonte
fonte
Respostas:
Esse problema pode ser causado por vários problemas diferentes, portanto não há uma solução única. Essas etapas devem funcionar no EC2.
Fonte:
O problema é causado por um conflito de alterações local e remoto na configuração herdada do Grub . O Grub legado e o Grub2 usam diferentes locais de configuração:
/boot/grub/menu.lst
/boot/grub/grub.cfg
Causas:
Você provavelmente está usando uma AMI suportada pelo Amazon EBS. As instâncias constroem seu sistema de arquivos raiz a partir de uma imagem base pré-criada (instantâneo). A configuração do grub é gravada no instantâneo, mas o registro UCF não é removido corretamente. Isso significa que você tem um instantâneo que acha que a
menu.lst
configuração foi modificada localmente. Mais informações podem ser encontradas aqui: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1485685Por que o ubuntu usa UCF para grub é explicado aqui: https://askubuntu.com/a/147079
Solução (s):
Uma solução geral que funciona é remover o menu.list e reconfigurá-lo. Isso garante que a entrada do registro ucf e o arquivo de configuração sejam resolvidos com o mesmo hash.
Uma segunda solução é modificar a configuração do UCF para aceitar automaticamente as alterações do mantenedor
Aviso Legal:
Esse problema é muito amplo e os casos de uso afetarão a solução necessária. Se possível, é altamente recomendável atualizar para o grub2. O Grub2 pode ser configurado sem modificar os arquivos do sistema.
Há também uma tonelada de soluções diferentes oferecidas e relatórios de problemas abertos no rastreador do ubuntu. Eu adoraria vincular a todos eles, mas não tenho o representante.
Boa sorte :)
fonte
Minha versão desta pergunta é: "Eu tenho atualizações automáticas do kernel no ec2, e fiz recentemente
apt-get autoremove -y
. Mesmo depois desudo update-grub
ver apenas a3.13.0-48
lista,/boot/grub/menu.lst
mas não entre os kernels instalados. Como estou ferrado?"Minha resposta: "Provavelmente não está ferrado. Em outros sistemas Ubuntu.
menu.lst
Nem existe eupdate-grub
parece estar colocando a configuração/boot/grub/grub.cfg
. Meu palpite é que essemenu.lst
é um artefato estranho da Ubuntu AMI do EC2, ou alguma interação com o empacotamento ou o gerenciamento de configuração local. "fonte
Pessoalmente, em seu lugar, eu "mostraria a diferença entre versões", anotaria cuidadosamente quais são as alterações e depois experimentaria as novas diferenças em uma instância da AWS de "desenvolvimento". Se eu estivesse sendo extremamente cauteloso, simplesmente leria a página de manual para as alterações em questão (elas podem não ser para menu.lst, mas algum outro software como o kernel, ou heck, qualquer coisa realmente) para descobrir exatamente o que está mudando .
Como alternativa, você pode clonar esta máquina virtual, fazer a atualização, ver o que acontece e, se isso falhar, você arma a nova VM e inicia o processo novamente com uma opção diferente. Máquinas virtuais são ótimas apenas por esse motivo.
fonte
Acabei de encontrar o mesmo "problema" com um VPS da OVH.
No meu caso (e muitos outros que encontrei no Google), as únicas alterações foram os espaços em branco.
De onde eles vêm, eu não sei, mas se você selecionar
show the differences between the versions
e a resposta éNo non whitespace changes detected
apenas pegar a versão dos mantenedores.fonte
Sua escolha
então
ou
De qualquer forma, agora você pode correr
fonte