Автоматические обновления не работают должным образом
Я имею
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 изменить флаги монтирования до/после установки.