Intenté hacer un sudo do_release_upgrade
en un servidor AWS EC2 Ubuntu 13.10 para actualizar a 14.04. Todo iba bien hasta que recibí el siguiente mensaje:
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>
Yo desde luego no he modificado menu.lst, así que supongo que las modificaciones locales son Amazon está haciendo. Voy a presionar la opción "mantener la versión local actualmente instalada" y esperar lo mejor.
Pero, ¿por qué recibo este mensaje? ¿Es esta la forma correcta de manejarlo?
ubuntu
amazon-ec2
upgrade
Mark Amery
fuente
fuente
Respuestas:
Este problema puede ser causado por una variedad de problemas diferentes, por lo que no hay una sola solución. Estos pasos deberían funcionar en EC2.
Fuente:
El problema es causado por un conflicto de cambio local y remoto en la configuración heredada de Grub . Grub legacy y Grub2 usan diferentes ubicaciones de configuración:
/boot/grub/menu.lst
/boot/grub/grub.cfg
Causas:
Probablemente esté utilizando una AMI respaldada por Amazon EBS. Las instancias construyen su sistema de archivos raíz a partir de una imagen base preconstruida (instantánea). La configuración de grub se escribe en la instantánea, pero el registro UCF no se purga correctamente. Esto significa que tiene una instantánea que cree que la
menu.lst
configuración se modificó localmente. Puede encontrar más información aquí: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1485685Aquí se explica por qué ubuntu usa UCF para grub: /ubuntu//a/147079
Solución (es):
Una solución general que funciona es eliminar menu.list y volver a configurarlo. Esto garantiza que la entrada del registro ucf y el archivo de configuración se resuelvan en el mismo hash.
Una segunda solución es modificar la configuración de UCF para aceptar automáticamente los cambios del mantenedor
Renuncia:
Este problema es muy amplio y los casos de uso afectarán la solución requerida. Si es posible, es muy recomendable actualizar a grub2. Grub2 se puede configurar sin modificar los archivos del sistema.
También hay un montón de soluciones diferentes que se ofrecen e informes de problemas abiertos en el rastreador de ubuntu. Me encantaría vincularlos a todos, pero no tengo el representante.
Buena suerte :)
fuente
Mi versión de esta pregunta dice: "Tengo actualizaciones de kernel automáticas en ec2, y recientemente lo hice
apt-get autoremove -y
. Incluso después desudo update-grub
que solo veo3.13.0-48
en la lista/boot/grub/menu.lst
pero no entre los núcleos instalados. ¿Qué tan jodido estoy?"Mi respuesta: "Probablemente no esté jodido. En otros sistemas Ubuntu.
menu.lst
Ni siquiera existe, yupdate-grub
parece estar poniendo la configuración en su/boot/grub/grub.cfg
lugar. Supongo quemenu.lst
es algún artefacto extraño de Ubuntu AMI de EC2, o algunos que interactúan con el empaque o la administración de configuración local. "fuente
Personalmente, en su lugar, "mostraría la diferencia entre versiones", tomaría nota de cuáles son los cambios y luego experimentaría con las nuevas diferencias en una instancia de AWS de "desarrollo". Si fuera más cauteloso, simplemente leería la página de manual de los cambios en cuestión (puede que no sean para menu.lst, pero algún otro software como el kernel, o realmente cualquier cosa) para averiguar exactamente qué está cambiando. .
Alternativamente, puede clonar esta máquina virtual, hacer la actualización, ver qué sucede y, si eso falla, atacar la nueva VM e iniciar el proceso nuevamente con una opción diferente. Las máquinas virtuales son excelentes solo por este motivo.
fuente
Me encontré con el mismo "problema" con un VPS de OVH.
En mi caso (y muchos otros que encontré mientras buscaba en Google) los únicos cambios fueron espacios en blanco.
No sé de dónde vienen, pero si seleccionas
show the differences between the versions
y la respuesta esNo non whitespace changes detected
solo toma la versión de mantenimiento.fuente
Tu elección
luego
o
De todos modos, ahora puedes correr
fuente