Укороченная версия:
cat /var/run/reboot-required.pkgs
Объяснение:
Похоже, есть простой способ автоматически извлечь запрашиваемую информацию.
Внутри .deb
файлов есть управляющие файлы для установки, в том числе postinst
(запуск после установки).
Например, в linux-image-2.6.35-25-generic_2.6.35-25.44_amd64.deb
,
postinst
включает в себя
my $notifier = "/usr/share/update-notifier/notify-reboot-required";
my $warn_reboot = 'Yes'; # Warn that we are installing a version of
# the kernel we are running
а также
# Warn of a reboot
if (-x $notifier) {
system($notifier);
}
Сценарий оболочки
/usr/share/update-notifier/notify-reboot-required
обновляется
/var/run/reboot-required
и /var/run/reboot-required.pkgs
.
Последний файл содержит список пакетов, запрашивающих перезагрузку.
/var/run/reboot-required
был создан накануне, но/var/run/reboot-required.pkgs
файла @ Ubuntu 16.04.5 LTS нет.Перезагрузка рекомендуется,
unattended-upgrades
когда он видит, что/var/run/reboot-required
существует. Файл создаетсяpostinst
сценариями (после установки) в некоторых пакетах, он выглядит примерно так:Если вы хотите увидеть, какие пакеты вызвали это, вы можете посмотреть содержимое
/var/run/reboot-required.pkgs
файла.Для получения дополнительной информации также см. Эту тему .
источник
Основываясь на предыдущем ответе Олли, я нашел способ найти все установленные на данный момент пакеты в вашей системе, которые требуют перезагрузки.
Подождите, пока загрузка завершится, в моей системе это было около 900 МБ, поэтому это может занять некоторое время в зависимости от вашего соединения. Затем:
Вывод может выглядеть примерно так:
Конечно, этот метод не является надежным. Могут быть пакеты, которые уведомляют о требуемой перезагрузке с помощью других средств, кроме «notify-reboot-required», и хотя это показывает, какие в настоящее время установленные пакеты требуют или не требуют перезагрузки, она не уверена, что то же самое сохранится для последующих версии того же пакета.
источник
grep -l reboot-required /var/lib/dpkg/info/*.postinst | sed -e 's,^.*/\(.*\)\.postinst,\1,'
. Однако следует отметить , что это будет только сообщить , какие пакеты может потребоваться перезагрузка на некоторое время, а не какой пакет сделал с перезагрузкой на этот разЯ действительно не знаю, есть ли другие пакеты, которые требуют перезагрузки, но обновления ядра всегда делают. Я бы сказал, что почти каждый раз, когда меня «просили» перезагрузиться, ядро обновлялось.
источник