Після налагодження цього я знайшов рішення.
Першопричина цієї проблеми полягає в тому, що в Ubuntu 16.04 та новіших версіях оновлень без догляду використовується systemd - не cron - для планування оновлень з величезною рандомізованою затримкою:
/lib/systemd/system/apt-daily.timer
налаштовано на
OnCalendar=*-*-* 6,18:00
RandomizedDelaySec=12h
Це означає, що він буде працювати два рази на день, о 6:00 та 18:00, з випадковою затримкою до 12 годин. Оскільки це не завжди прийнятно для виробничих середовищ, мені довелося перекрити ці налаштування.
Щоб зберегти файли конфігурації пакета недоторканими, я визначив своє переосмислення /etc/systemd/system/apt-daily.timer.d/override.conf
( оновлення : прочитайте редагування внизу цієї відповіді для отримання додаткової інформації про назву файлу та місцезнаходження, оскільки, здається, вони можуть трохи змінитися).
Там я встановив
[Timer]
OnCalendar=
OnCalendar=06:00
RandomizedDelaySec=1h
провести оновлення без уваги до 6:00 плюс випадкова затримка до години.
Потім я просто перезапустив таймер systemctl restart apt-daily.timer
(зрештою потрібно перезавантажити демон).
Без уваги оновлення тепер працює в передбачувані часи знову!
Редагувати : Здавалося б, для Ubuntu 18.04 все трохи змінилося. Перевизначення тепер має зберігатися у /etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
та виглядати так:
[Timer]
OnCalendar=*-*-* 6:00
RandomizedDelaySec=1h
@PerlDuck в коментарі нижче згадував спосіб створення файлу заміщення з правильним ім'ям та місцезнаходженням. Замість того, щоб створити файл вручну, будь ласка, запускайтеsudo systemctl edit apt-daily.timer