He configurado actualizaciones desatendidas para instalar paquetes de seguridad y notificar por correo cuando lo haga.
He notado que la instalación ocurre en momentos muy aleatorios. Sé que las últimas versiones agregaron un retraso aleatorio de hasta 30 minutos a partir del tiempo de ejecución cron.daily.
Sin embargo, los retrasos que estoy experimentando son mucho mayores que eso. Veo actualizaciones desatendidas ejecutándose a las 9 a.m., 3 p.m., 12 a.m. ... Los registros muestran lo mismo, por lo que no es solo la entrega del correo electrónico lo que lleva más tiempo.
La tarea de actualizaciones desatendidas es la primera en cron.daily, lo que significa que no hay ninguna tarea previa con tiempos de ejecución enormes.
¿Alguien ha experimentado algo similar?
fuente
Respuestas:
Después de depurar esto, encontré la solución.
La causa raíz de este problema reside en el hecho de que en Ubuntu 16.04 y posteriores, las actualizaciones desatendidas usan systemd, no cron, para programar las actualizaciones con un gran retraso aleatorio:
/lib/systemd/system/apt-daily.timer
está configurado conEsto significa que se ejecutará dos veces al día, a las 6:00 y 18:00, con un retraso aleatorio de hasta 12 horas. Como esto no siempre es aceptable para entornos de producción, tuve que anular esta configuración.
Para mantener intactos los archivos de configuración del paquete, definí mi anulación en
/etc/systemd/system/apt-daily.timer.d/override.conf
( Actualización : lea la edición al final de esta respuesta para obtener más información sobre el nombre de archivo y la ubicación, ya que parece estar ligeramente sujeto a cambios).Ahí puse
tener actualizaciones desatendidas ejecutadas a las 6:00 más un retraso aleatorio de hasta una hora.
Luego simplemente reinicié el temporizador con
systemctl restart apt-daily.timer
(eventualmente necesito volver a cargar el demonio).¡Las actualizaciones desatendidas ahora se ejecutan en tiempos predecibles nuevamente!
Editar : Parece que para Ubuntu 18.04 las cosas cambiaron un poco. La anulación ahora debe almacenarse
/etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
y tener este aspecto:@PerlDuck ha mencionado una forma de crear un archivo de anulación con el nombre y la ubicación correctos en un comentario a continuación. En lugar de crear un archivo manualmente, considere ejecutar
sudo systemctl edit apt-daily.timer
fuente
La documentación oficial de Debian en https://wiki.debian.org/UnattendedUpgrades actualmente tiene un error que engaña a mucha gente. Afirma que puede anular el tiempo de actualización creando un archivo llamado
Sin embargo, la ruta correcta es
fuente
sudo systemctl edit apt-daily.timer
. Esto abrirá un editor con el archivo desplegable correcto.Probé la solución de Daniel pero la actualización todavía se ejecutó en los momentos equivocados. Resultó que se necesitan dos reemplazos del sistema:
Utilizado para descargas
/lib/systemd/system/apt-daily.timer - anular con /etc/systemd/system/apt-daily.timer.d/override.conf
Utilizado para actualizar
/lib/systemd/system/apt-daily-upgrade.timer - anular con /etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
fuente