Проверка стандартной установки Ubuntu Server 20.04 выглядит так: автоматическое обновление
пробеги вызываются apt-ежедневно-upgrade.timer
. Это срабатывает ежедневно в 6 утра со случайной задержкой до часа.
root@ubuntu:~# systemctl cat apt-daily-upgrade.timer
# /lib/systemd/system/apt-daily-upgrade.timer
[Ед. изм]
Description=Ежедневное обновление и чистка
После=apt-daily.timer
[Таймер]
OnCalendar=*-*-* 6:00
RandomizedDelaySec=60м
Постоянный = истина
[Установить]
WantedBy=timers.target
Потенциально простым решением является переопределение в календаре
настроить так, чтобы таймер срабатывал в то время, когда с большей вероятностью он будет в сети. Например
mkdir /etc/systemd/system/apt-daily-upgrade.timer.d
кошка <<EOF >/etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
[Таймер]
ВКалендаре=
OnCalendar=*-*-* 12:00
EOF
systemctl демон-перезагрузка
Это запустит таймер в полдень вместо этого. автоматическое обновление
должен запускаться только один раз в день по умолчанию. Это из-за настройки для APT:: Periodic:: Автоматическое обновление
. Cherry выбирает комментарий от /usr/lib/apt/apt.systemd.daily
# APT::Periodic::Unattended-Upgrade "0";
# - запустить сценарий обновления безопасности "автоматическое обновление"
# каждые n дней (0=отключено)
Стандартное значение конфигурации для этого 1
день.
root@ubuntu:~# дамп apt-config APT::Periodic::Unattended-Upgrade
APT::Periodic::Unattended-Upgrade "1";
Вы можете настроить таймер чаще, чем один раз в день, добавив подходящую конфигурацию. Ссылка с комментариями https://unix.stackexchange.com/a/541426/147262 имеет несколько предложений. Вот простой пример добавления подходящей конфигурации
кот <<EOF > /etc/apt/apt.conf.d/90myuu
> APT::Periodic::Unattended-Upgrade "всегда";
> EOF
Если вы переопределите apt-ежедневно-upgrade.timer
то вы можете сделать то же самое переопределение для apt-daily.timer
. Это также имеет соответствующее значение конфигурации apt APT::Periodic::Update-Package-Lists
.
РЕДАКТИРОВАТЬ Я изменил предложение с запуска ежечасно на запуск один раз в день в то время, которое с большей вероятностью будет в сети. Я понял, что настройка по умолчанию запуска один раз в день не зависит от того, автоматическое обновление
на самом деле были какие-либо пакеты для обновления. Следовательно, автоматическое обновление
может продолжать работать только тогда, когда он не в сети.
Комментарии
Есть ли потенциальные недостатки в таком разгоне ежедневного таймера?
По умолчанию обновления запускаются в одночасье, чтобы не мешать активности пользователей. У вас больше не будет такого удобства.
ConditionACPower=true не выполнено. Вы можете изменить эту настройку
Вы должны изменить этот параметр с помощью файла переопределения, а не путем изменения файла службы, установленного пакетом.
mkdir /etc/systemd/system/apt-daily-upgrade.service.d
кошка <<EOF > /etc/systemd/system/apt-daily-upgrade.service.d/override.conf
[Ед. изм]
ConditionACPower=false
EOF
systemctl демон-перезагрузка
В чем причина или недостатки переопределения apt-daily.timer?
apt-daily.timer
запускает команды apt для обновления информации о пакете и загрузки доступных обновлений. Если эти команды продолжают выполняться, когда сеть недоступна, тогда автоматическое обновление
может ничего не обновлять, потому что может не знать о доступных обновлениях.