Hice lo siguiente:
ec2run ami-3c994355 --region us-east-1 -n 1 -t m1.large -z us-east-1d
En la maquina:
sudo apt-get update
sudo apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Todavía recibo un mensaje que me pregunta qué archivo de configuración quiero usar. Estas son las líneas que vienen antes de la solicitud:
Setting up grub-pc (1.99-21ubuntu3.1) ...
entonces:
┌───────────────────────────────────────────────────────┤ 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
fuente
fuente
Respuestas:
El
/etc/default/grub
archivo se genera en el momento de la instalación del paquete, lo cual es necesario porque se integra con debconf. Esto significa que no puede tratarse como un archivo conf de dpkg, por lo que el manejo del archivo de configuración de dpkg no lo sabe.En cambio, utiliza
ucf
una herramienta Debian más sofisticada para manejar la configuración. Esto, desafortunadamente, no comprende las opciones de dpkg, por lo que la configuraciónDpkg::Options::="--force-confdef"
no ayudará. Que tiene su propia manera de hacer no-prontas mejoras, sin embargo, a través de lasUCF_FORCE_CONFFNEW
yUCF_FORCE_CONFFOLD
variables de entorno.ucf
utilizadebconf
para solicitar, por lo que configurar la interfaz de debconfnoninteractive
también silenciará el mensaje. Si realmente desea actualizaciones no interactivas, deberá hacerlo de todos modos: los paquetes arbitrarios pueden hacer preguntas a debconf (aunque generalmente no lo harán durante las actualizaciones).Puede configurar la interfaz de debconf como única agregando
DEBIAN_FRONTEND=noninteractive
a su entorno, o puede configurarla permanentemente ejecutandodpkg-reconfigure debconf
y seleccionando la interfaz no interactiva. Si está utilizando la interfaz no interactiva, obtendrá la respuesta predeterminada para cualquier pregunta que pueda hacer un paquete.Para
ucf
, la respuesta predeterminada es "mantener el archivo existente".Por lo tanto, el comando completo para hacer una actualización realmente 100% garantizada¹ sin preguntar sería.
¹: Es técnicamente posible que los paquetes utilicen otro método de solicitud que no sea debconf, pero esto va en contra de la política de Debian. Si se encuentra con dicho paquete, presente un error.
fuente
saliendo de la respuesta de RAOF y después de pasar innumerables horas buscando en la web para poder realizar una actualización completamente automática y una actualización dist en Ubuntu 12.04, se me ocurrió esto gracias al hecho de esta publicación ( https: // errores .launchpad.net / ubuntu / + source / grub / + bug / 239674 / comments / 1 ) señala que grub se adhiere a UCF y no a las opciones Dpkg cuando desea utilizar el paquete de mantenimiento grub menu.lst en lugar de cualquier menú local posible .lst ediciones.
Dejé las opciones Dpkg force-confnew para otros paquetes que no son grub.
fuente
unattended-upgrades
y ha editado alguna configuración de grub: ¿cómo se configuraUCF_FORCE_CONFFNEW
en ese contexto? ¿O necesitarías que la lista negra de grub se actualice?Las soluciones anteriores no funcionarían con 16.04. Esto funciona a partir de esta respuesta en el desbordamiento de la pila :
fuente
He estado discutiendo con el mismo problema en Ubuntu 18.04 los últimos días. Al iniciar una nueva instancia EC2 (específicamente ami-00035f41c82244dab), ejecuto un script de aprovisionamiento automatizado (a través de la configuración de datos de usuario suministrada en el momento de la inicialización), uno de los primeros pasos es ejecutar apt update / upgrade.
El script se bloquea mientras se le pregunta al usuario sobre los archivos GRUB modificados: primero / etc / default / grub, y luego /boot/grub/menu.lst. Dado que esto se ejecuta en modo desatendido cuando se suministra como Datos de usuario, el proceso se detiene y nunca se recupera.
De muchas búsquedas en Google, parece que este ha sido un problema de GRUB de larga duración de una forma u otra, con correcciones aplicadas y luego regresando nuevamente, por lo que puedo decir.
En última instancia, la única solución que he podido aplicar con éxito es el siguiente truco feo en mi script de aprovisionamiento. ¡Espero que pueda sacar a alguien de un apuro!
Solo puedo suponer que el problema que encontré es bastante específico para la versión AMI de Ubuntu 18.04 actualmente disponible, y cualquier versión actualizada que incorpore paquetes GRUB más nuevos puede no estar sujeta al mismo problema. En particular,
/etc/default/grub
es probable que la naturaleza de los cambios no sea aplicable a las versiones más recientes de AMI. Solo pongo esto de todos modos.fuente
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" -qq --force-yes upgrade