Я настроил автоматические обновления для установки пакетов безопасности и уведомления об этом по почте.
Я заметил, что установка происходит в очень случайное время. Я знаю, что в последних версиях добавлена случайная задержка до 30 минут, начиная с времени выполнения cron.daily.
Однако задержки, которые я испытываю, намного больше, чем это. Я вижу, что автоматические обновления выполняются в 9:00, 15:00, 12:00 ... Журналы показывают то же самое, поэтому не только доставка электронной почты занимает больше времени.
Задача автоматического обновления является первой в cron.daily, что означает отсутствие предыдущей задачи с огромным временем выполнения.
Кто-нибудь испытывал подобное?
16.04
cron
unattended-upgrades
Даниэль Ф.
источник
источник
Ответы:
После отладки я нашел решение.
Основная причина этой проблемы заключается в том, что в Ubuntu 16.04 и новее автоматические обновления используют systemd, а не cron, для планирования обновлений с большой случайной задержкой:
/lib/systemd/system/apt-daily.timer
настроен сЭто означает, что он будет работать два раза в день, в 6:00 и 18:00, со случайной задержкой до 12 часов. Поскольку это не всегда приемлемо для производственных сред, мне пришлось переопределить эти настройки.
Чтобы сохранить файлы конфигурации пакета без изменений, я определил свое переопределение в
/etc/systemd/system/apt-daily.timer.d/override.conf
( Обновление : пожалуйста, прочитайте правку внизу этого ответа для получения дополнительной информации о имени файла и расположении, так как оно может быть слегка изменено).Там я поставил
запуск автоматических обновлений в 6:00 плюс произвольная задержка до часа.
Затем я просто перезапустил таймер с помощью
systemctl restart apt-daily.timer
(в конце концов, необходимо перезагрузить демон).Автоматические обновления теперь снова запускаются в предсказуемое время!
Изменить : Казалось бы, для Ubuntu 18.04 все немного изменилось. Переопределение теперь должно быть сохранено
/etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
и выглядеть следующим образом:@PerlDuck упомянул способ создания файла переопределения с правильным именем и расположением в комментарии ниже. Вместо того, чтобы вручную создавать файл, пожалуйста, попробуйте запустить
sudo systemctl edit apt-daily.timer
источник
Официальная документация Debian по адресу https://wiki.debian.org/UnattendedUpgrades в настоящее время содержит ошибку, которая вводит в заблуждение многих людей. Он утверждает, что вы можете переопределить время обновления, создав файл с именем
Однако правильный путь
источник
sudo systemctl edit apt-daily.timer
. Откроется редактор с правильным выпадающим файлом.Я испробовал решение Даниэля, но обновление все равно было запущено не в то время. Выяснилось, что нужны две системные замены:
Используется для загрузки
/lib/systemd/system/apt-daily.timer - переопределить с помощью /etc/systemd/system/apt-daily.timer.d/override.conf
Используется для обновления
/lib/systemd/system/apt-daily-upgrade.timer - переопределить с помощью /etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
источник