Назад | Перейти на главную страницу

unattended-updates не перезагружается

Я использую стабильную версию Debian 7 с автоматическими обновлениями (каждое утро в 6 часов утра), чтобы быть уверенным, что я всегда полностью обновлен. У меня такой конфиг:

$ cat /etc/apt/apt.conf.d/50unattended-upgrades 
// Automatically upgrade packages from these origin patterns
Unattended-Upgrade::Origins-Pattern {
        // Archive or Suite based matching:
        // Note that this will silently match a different release after
        // migration to the specified archive (e.g. testing becomes the
        // new stable).
      "o=Debian,a=stable";
      "o=Debian,a=stable-updates";
//      "o=Debian,a=proposed-updates";
        "origin=Debian,archive=stable,label=Debian-Security";
};

// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
//  "vim";
//  "libc6";
//  "libc6-dev";
//  "libc6-i686";
};

// This option allows you to control if on a unclean dpkg exit
// unattended-upgrades will automatically run 
//   dpkg --force-confold --configure -a
// The default is true, to ensure updates keep getting installed
//Unattended-Upgrade::AutoFixInterruptedDpkg "false";

// Split the upgrade into the smallest possible chunks so that
// they can be interrupted with SIGUSR1. This makes the upgrade
// a bit slower but it has the benefit that shutdown while a upgrade
// is running is possible (with a small delay)
//Unattended-Upgrade::MinimalSteps "true";

// Install all unattended-upgrades when the machine is shuting down
// instead of doing it in the background while the machine is running
// This will (obviously) make shutdown slower
//Unattended-Upgrade::InstallOnShutdown "true";

// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed. E.g. "user@example.com"
Unattended-Upgrade::Mail "root";

// Set this value to "true" to get emails only on errors. Default
// is to always send a mail if Unattended-Upgrade::Mail is set
Unattended-Upgrade::MailOnlyOnError "true";

// Do automatic removal of new unused dependencies after the upgrade
// (equivalent to apt-get autoremove)
//Unattended-Upgrade::Remove-Unused-Dependencies "false";

// Automatically reboot *WITHOUT CONFIRMATION* if a 
// the file /var/run/reboot-required is found after the upgrade 
Unattended-Upgrade::Automatic-Reboot "true";


// Use apt bandwidth limit feature, this example limits the download
// speed to 70kb/sec
//Acquire::http::Dl-Limit "70";

Как видите, автоматическая перезагрузка верна, поэтому сервер должен автоматически перезагрузиться. В прошлый раз, когда я проверял, что сервер был в сети более 100 дней, это означает, что обновление с Debian 7.1 до Debian 7.2 произошло, когда сервер был включен (и действительно, все обновления были установлены), но это включает обновления ядра, что означает, что сервер должен перезагрузиться. Это не так. Сервер работал очень медленно, поэтому я перезагрузился, что устранило это.

Я провел небольшое исследование и обнаружил, что автоматические обновления реагируют на файл, требующий перезагрузки, в / var / run /. Я коснулся этого файла и ждал неделю, файл все еще существует, и сервер не перезагружался. Поэтому я думаю, что unattended-uppgrades игнорирует часть автоматической перезагрузки. Итак, я что-то здесь делаю не так? Почему сервер не перезагружается?

Кстати, часть обновления работает отлично, это просто часть перезагрузки, которая, похоже, работает не так, как должна.

Файл /var/run/reboot-required конфигурация, о которой говорится, создается сценарием в пакете update-notifier-common. Без установки этого пакета автоматических перезагрузок не произойдет.

К сожалению, это нигде не упоминается в unattended-upgrades!