Файл unattended-upgrades-shutdown.log больше не записывается с момента обновления до 24.04.

Вопрос или проблема

Я давно включил автоматические обновления на своих системах. Перед тем как я обновил две системы с Kubuntu 22.04 до 24.04, я обычно видел дополнительную запись в /var/log/unattended-upgrades/unattended-upgrades-shutdown.log, когда перезагрузка происходила после обновления системы или когда система была перезагружена вручную:

2024-04-19 05:34:46,130 WARNING - SIGTERM или SIGHUP получены, остановка unattended-upgrades только если он запущен

Если обновление все еще выполнялось, это также упоминалось. После обновления до 24.04 автоматические обновления по-прежнему работают нормально.

/var/log/unattended-upgrades/unattended-upgrades.log и

/var/log/unattended-upgrades/unattended-upgrades-dpkg.log

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

Мой /etc/apt/apt.conf.d/20auto-upgrades:

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

Мой /etc/apt/apt.conf.d/50unattended-upgrades:

// Автоматически обновлять пакеты из этих пар (источник:архив)
//
// Обратите внимание, что в Ubuntu обновления безопасности могут включать
// новые зависимости из незащищенных источников (например, chromium). Позволяя выпуску
// pocket, они автоматически включаются.
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}";
    "${distro_id}:${distro_codename}-security";
    // Расширенная безопасность; не обязательно существует для
    // каждого релиза, и эта система может его не иметь, но если
    // доступно, политика обновлений такова, что unattended-upgrades
    // также должна устанавливать из этого источника по умолчанию.
    "${distro_id}ESMApps:${distro_codename}-apps-security";
    "${distro_id}ESM:${distro_codename}-infra-security";
    "${distro_id}:${distro_codename}-updates";
//  "${distro_id}:${distro_codename}-proposed";
//  "${distro_id}:${distro_codename}-backports";
};

// Регулярные выражения Python, соответствующие пакетам для исключения из обновления
Unattended-Upgrade::Package-Blacklist {
    // Следующее соответствует всем пакетам, начинающимся с linux-
//  "linux-";

    // Используйте $, чтобы явно определить конец имени пакета. Без
    // $, "libc6" соответствовал бы всем из них.
//  "libc6$";
//  "libc6-dev$";
//  "libc6-i686$";

    // Специальные символы требуют экранирования
//  "libstdc\+\+6$";

    // Следующее соответствует пакетам, таким как xen-system-amd64, xen-utils-4.1,
//  xenstore-utils и libxenstore3.0
//  "(lib)?xen(store)?";

    // Для получения дополнительной информации о регулярных выражениях Python см.
    // https://docs.python.org/3/howto/regex.html
};

// Эта опция управляет тем, будет ли выпуск разработки Ubuntu
// автоматически обновляться. Допустимые значения: "true", "false" и "auto".
Unattended-Upgrade::DevRelease "false";

// Эта опция позволяет вам контролировать, будет ли при неподходящем выходе dpkg
// unattended-upgrades автоматически выполнять 
//   dpkg --force-confold --configure -a
// По умолчанию это true, чтобы гарантировать, что обновления продолжают устанавливаться
Unattended-Upgrade::AutoFixInterruptedDpkg "true";

// Разделите обновление на самые маленькие возможные части, чтобы
// их можно было прерывать с помощью SIGTERM. Это делает обновление
// немного медленнее, но имеет преимущество в том, что выключение во время обновления
// возможно (с небольшим задержкой)
//Unattended-Upgrade::MinimalSteps "true";

// Устанавливайте все обновления, когда машина выключается
// вместо того, чтобы делать это в фоновом режиме, пока машина работает.
// Это (очевидно) замедлит выключение.
// Unattended-upgrades увеличивает InhibitDelayMaxSec logind до 30s.
// Это позволяет больше времени для graceful shutdown unattended-upgrades
// или даже установить несколько пакетов в режиме InstallOnShutdown, но это все еще
// большой шаг назад от 30 минут, разрешенных для InstallOnShutdown ранее.
// Пользователям, включающим режим InstallOnShutdown, рекомендуется увеличить
// InhibitDelayMaxSec еще больше, возможно, до 30 минут.
// Unattended-Upgrade::InstallOnShutdown "false";

// Отправлять электронную почту на этот адрес для проблем или обновлений пакетов
// Если пусто или не установлено, тогда почта не отправляется, убедитесь, что у вас
// есть работоспособная почтовая настройка на вашей системе. Должен быть установлен пакет, который предоставляет
// 'mailx'. Например, "[email protected]"
// Unattended-Upgrade::Mail "";

// Установите это значение на одно из:
//    "always", "only-on-error" или "on-change"
// Если это не установлено, то используется любое наследуемое значение MailOnlyOnError (логическое)
// для выбора между "only-on-error" и "on-change"
// Unattended-Upgrade::MailReport "on-change";

// Удаляйте неиспользуемые автоматически установленные пакеты, связанные с ядром
// (образы ядра, заголовки ядра и инструменты с фиксированной версией ядра).
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";

// Автоматически удалять вновь неиспользуемые зависимости после обновления
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

// Автоматически удалять неиспользуемые пакеты после обновления
// (эквивалентно apt-get autoremove)
Unattended-Upgrade::Remove-Unused-Dependencies "true";

// Автоматически перезагружать *БЕЗ ПОДТВЕРЖДЕНИЯ*, если
//  файл /var/run/reboot-required найден после обновления
Unattended-Upgrade::Automatic-Reboot "true";

// Автоматически перезагружать, даже если в системе есть пользователи,
// когда Unattended-Upgrade::Automatic-Reboot установлено в true
Unattended-Upgrade::Automatic-Reboot-WithUsers "true";

// Если автоматическая перезагрузка включена и необходима, перезагрузите в указанное
// время вместо немедленно
//  По умолчанию: "now"
Unattended-Upgrade::Automatic-Reboot-Time "now";

// Используйте функцию ограничения полосы пропускания apt, этот пример ограничивает скачивание
// скорость до 70кб/с
// Acquire::http::Dl-Limit "70";

// Включите запись в syslog. По умолчанию False
Unattended-Upgrade::SyslogEnable "false";

// Укажите службу syslog. По умолчанию daemon
Unattended-Upgrade::SyslogFacility "daemon";

// Загружать и устанавливать обновления только при подключении к сети
// (т.е. пропустить или остановить обновления на батарее)
// Unattended-Upgrade::OnlyOnACPower "true";

// Загружать и устанавливать обновления только по неплатному подключению
// (т.е. пропустить или остановить обновления на платном подключении)
// Unattended-Upgrade::Skip-Updates-On-Metered-Connections "true";

// Подробная запись
// Unattended-Upgrade::Verbose "true";

// Печать отладочной информации как в unattended-upgrades, так и
// в unattended-upgrade-shutdown
// Unattended-Upgrade::Debug "false";

// Разрешить понижение версии пакета, если Pin-Priority превышает 1000
// Unattended-Upgrade::Allow-downgrade "false";

// Когда APT не может отметить пакет для обновления или установки, попробуйте отрегулировать
// кандидаты связанных пакетов, чтобы помочь решателю APT найти решение
// где пакет может быть обновлен или установлен.
// Это обходной путь, пока решатель APT не будет исправлен, чтобы всегда находить
// решение, если оно существует. (Смотрите баг Debian #711128.)
// Резервный вариант включен по умолчанию, кроме релиза sid Debian, потому что
// там часто бывают пакеты, которые нельзя удалить.
// Отключение резервного варианта ускоряет unattended-upgrades, когда есть
// пакеты, которые нельзя удалить, ценой редкого удерживания пакетов, которые
// могли бы быть обновлены или установлены.
// Unattended-Upgrade::Allow-APT-Mark-Fallback "true";

DPkg::Options {
        "--force-confold";
        "--force-confdef";
};

Что я упустил? Что мне нужно настроить, чтобы снова увидеть эти записи в unattended-upgrades-shutdown.log?

Ответ или решение

Устранение проблемы с отсутствием записей в unattended-upgrades-shutdown.log после обновления до 24.04

После обновления с Kubuntu 22.04 до 24.04 вы заметили, что файл логов /var/log/unattended-upgrades/unattended-upgrades-shutdown.log больше не заполняется интересующими вас записями, потенциально отражающими состояние процесса обновления и перезагрузки системы. Давайте рассмотрим возможные причины этой ситуации и способы ее решения.

Анализ конфигурации

Вы предоставили конфигурации ваших файлов:

  1. /etc/apt/apt.conf.d/20auto-upgrades

    Ваша конфигурация указана правильно и соответствует стандартной практике. Все настройки принимаются во внимание для автоматического обновления.

  2. /etc/apt/apt.conf.d/50unattended-upgrades

    Этот файл также выглядит корректно. Основное внимание следует уделить настройкам, которые могут влиять на ведение журнала при перезагрузке и остановке услуги upgrade.

Возможные причины отсутствия записей в логе

  1. Изменения в поведении unattended-upgrades: Возможно, изменения в версии unattended-upgrades, произошедщие с релизом 24.04, повлияли на процесс ведения логов на этапе остановки или перезагрузки. Версия программы могла быть модифицирована таким образом, что логирование событий при завершении работы или перезагрузке системы стало необязательным.

  2. Конфигурация systemd и logind: Наиболее вероятная причина — изменения в политике обработки процессов при завершении системы и управлении сессиями, которые могли быть применены в обновлении. Ensure, что параметр InhibitDelayMaxSec достаточно высок для своевременной обработки остановки unattended-upgrades.

  3. Проверить другие журналы: Возможно, информация о завершении работы unattended-upgrades теперь перенаправляется в другие логи, такие как /var/log/syslog или journalctl. Попробуйте просмотреть эти журналы для поиска сообщений о завершении работы службы.

Рекомендации по исправлению

  1. Обновите настройки logind: Если у вас включен InstallOnShutdown, убедитесь, что значение InhibitDelayMaxSec соответствует вашим ожиданиям. Рассмотрите возможность увеличения значения для предотвращения преждевременного завершения процесса.

    sudo systemctl set-property logind InhibitDelayMaxSec=300
  2. Проверьте наличие доступных обновлений: Возможно, после выхода 24.04 были выпущены исправления, касающиеся unattended-upgrades. Выполните команду для проверки и установки последних обновлений:

    sudo apt update && sudo apt upgrade
  3. Логирование через syslog: Убедитесь, что у вас включено логирование в syslog. В вашем 50unattended-upgrades файл стоит установить параметр:

    Unattended-Upgrade::SyslogEnable "true";
  4. Отладочный режим: Для диагностики проблемы включите отладочный режим, установив:

    Unattended-Upgrade::Debug "true";

    Это позволит вам получить более подробную информацию о работе unattended-upgrades и его взаимодействии с системой.

Вывод

Отсутствие записей в unattended-upgrades-shutdown.log может быть связано с изменениями в конфигурации или самом поведении unattended-upgrades после обновления до 24.04. Проведите указанные действия, чтобы устранить проблему. Если проблема сохранится, обратитесь в поддержку разработки или на специализированные форумы для получения более детальной помощи, так как возможны изменения в программном обеспечении, влияющие на его поведение.

Оцените материал
Добавить комментарий

Капча загружается...