Автоматические обновления не работают должным образом

Я имею

Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.15.0-24-generic x86_64)

15 packages can be updated.
7 updates are security updates.

Я наблюдал за этим несколько недель и пробовал так много вещей, чтобы исправить это, но я не могу заставить его работать. Автоматические обновления не обновляют мой сервер.

Я установил

# apt-get install unattended-upgrades
Reading package lists... Done
Building dependency tree
Reading state information... Done
unattended-upgrades is already the newest version (0.90ubuntu0.9).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

# apt-get install apt-listchanges
Reading package lists... Done
Building dependency tree
Reading state information... Done
apt-listchanges is already the newest version (2.85.14ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

Это мой /etc/apt/apt.conf.d/10periodic

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Это мой /etc/apt/apt.conf.d/50unattended-upgrades

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        "${distro_id}ESM:${distro_codename}";
        "${distro_id}:${distro_codename}-updates";
};

Unattended-Upgrade::Package-Blacklist {
        "open-vm-tools";
};

Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::MinimalSteps "true";
Unattended-Upgrade::InstallOnShutdown "true";
Unattended-Upgrade::Mail "root";
Unattended-Upgrade::MailOnlyOnError "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "07:00";
Acquire::http::Dl-Limit "0";

Это то, что у меня есть в лог-файле /var/log/unattended-upgrades/unattended-upgrades.log

INFO Initial blacklisted packages: open-vm-tools
INFO Initial whitelisted packages:
INFO Starting unattended upgrades script
INFO Allowed origins are: ['o=Ubuntu,a=xenial', 'o=Ubuntu,a=xenial-security', 'o=UbuntuESM,a=xenial', 'o=Ubuntu,a=xenial-updates']
INFO Initial blacklisted packages: open-vm-tools
INFO Initial whitelisted packages:
INFO Starting unattended upgrades script
INFO Allowed origins are: ['o=Ubuntu,a=xenial', 'o=Ubuntu,a=xenial-security', 'o=UbuntuESM,a=xenial', 'o=Ubuntu,a=xenial-updates']

У кого-нибудь есть подсказка, что не так?

4 ответа

Вопреки ответу выше моего:/etc/apt/apt.conf.d/50unattended-upgrades"имел:

Unattended-Upgrade::InstallOnShutdown "false";

Ивсе же я все еще видел:

Welcome to Ubuntu 18.04.3 LTS (GNU/Linux [...] x86_64)
[...]
29 packages can be updated.
0 updates are security updates.

Так почему же эти 29 пакетов не были обновлены?

Как оказывается, "/etc/apt/apt.conf.d/50unattended-upgradesтакже содержал эту декларацию:

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESM:${distro_codename}";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

Ключом к исправлению для меня было просто раскомментировать эту строку:

//      "${distro_id}:${distro_codename}-updates";

Если после этого ответа @cuedee он все еще не работает, вы можете попробовать выполнить пробный запуск и посмотреть, получите ли вы какое-то сообщение об ошибке или предупреждение.

      sudo unattended-upgrades -v -d

В моем случае вывод объяснял, что мое соединение было лимитным (точка доступа с мобильного телефона), а автоматические обновления по умолчанию не разрешают обновления через лимитные соединения. Я изменил его следующей строкой в /etc/apt/apt.conf.d/50unattended-upgrades:

      Unattended-Upgrade::Skip-Updates-On-Metered-Connections "false";

Я нашел причину:

Unattended-Upgrade::InstallOnShutdown "true";

Это означает, что обновления устанавливаются только перед выключением. Так как у меня на этой машине 24/7 сервера обновлений никогда не было.

Еще одна важная причина, которую трудно отследить, заключается в том, что если ваш /tmpили же /var/каталог смонтирован noexecсогласно любому общему руководству CC. Это приведет к сбою сценариев post-inst и, таким образом, навсегда заблокирует обновления. Я не знаю безопасного решения для этого, но подозреваю, что есть способ указать apt изменить флаги монтирования до/после установки.

Другие вопросы по тегам