¿Hay alguna manera de hacer un apt-get dist-upgrade
en Debian que no solo responda automáticamente "sí" a todas las preguntas formuladas, sino que también use valores predeterminados razonables como respuestas a preguntas que sean lo suficientemente sofisticadas como para requerir que aparezcan varios cuadros de diálogo interactivos? Estoy pensando aquí en el mapa de teclas que se muestra cuando se actualiza libc6
, y en las opciones de imagen del núcleo.
El objetivo es ser capaz de iniciar remotamente un bastante grande dist-upgrade
- incluso para una máquina que está muy atrás en el tiempo - y no tener que cuidar en absoluto, a menos que algo es simplemente horrible, desastrosamente mal.
¿Seguramente esto es posible?
¡Gracias por adelantado!
Respuestas:
Si configura
DEBIAN_FRONTEND=noninteractive
(para evitar que aparezcan mensajes de debconf) y agregueforce-confold
yforce-confdef
a su/etc/dpkg/dpkg.cfg
archivo, debería tener una experiencia de instalación de paquetes completamente no interactiva. Cualquier paquete que todavía le solicite información tiene un error crítico de lanzamiento (y lo digo como un adicto a la automatización y como desarrollador de Debian).fuente
apt-listchanges
fue inaugurado porless
.Florian Lohoff publicó una forma de obtener lo que womble sugirió en un solo comando:
Por supuesto, también puede usar
-o Dpkg::Options::="--force-confnew --force-confdef"
(busque en la página de manual de dpkg para confnew). Sin embargo, no estoy seguro de en qué casos esto marcaría la diferencia. Personalmente necesito la actualización no interactiva para actualizar las imágenes de vainilla, en cuyo caso supongo que elegir siempre el nuevo archivo de configuración (sin--force-confdef
) es algo razonable.fuente
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Aunque la respuesta de womble anterior es generalmente buena, no funcionó para mí y tuve que hacer una investigación adicional para estar 100% desatendida. Pensé que compartiría el resultado de manera concisa para simplificar las cosas para futuros visitantes.
El siguiente es un script que se ejecutará de acuerdo con las recomendaciones de actualización de las notas de la versión de Debian 8 (principalmente) junto con indicadores y variables de entorno que lo harán desatendido. (los
echo
s son solo para depurar y podrían eliminarse, aunque recomiendo mantenerlos para que si el script se atasca sabrás dónde)fuente
> = Apt 1.1
Si está utilizando Apt 1.1 o superior,
--force-yes
se ha quedado en desuso , por lo que ha de utilizar las opciones a partir de--allow
su lugar, por ejemplo--allow-downgrades
,--allow-remove-essential
,--allow-change-held-packages
.Entonces el comando es:
Nota: Use
--force-confold
para mantener viejas y--force-confnew
para mantener nuevas configuraciones.Fuente: CFE-2360: Informe la versión del módulo del paquete apt_get .
Relacionado:
fuente
Desde la
apt-get(8)
página del manual:Como referencia, la
-y
opción también funcionayum(8)
.fuente