«Требуется перезагрузка системы» ... почему? Как я могу узнать, что вызвало это уведомление, чтобы показать подробности?

19

Каждый раз так, я буду использовать SSH в коробке с автоматическими обновлениями и приветствую «** Перезапуск системы ***» без дополнительной информации.

Файл My '/var/run/reboot-required.pkgs содержит:

linux-image-3.13.0-61-generic
linux-base
linux-base
linux-base

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

Есть ли способ получить дополнительные сведения о причине перезагрузки, которые также будут отображаться на знаке SSH?

В идеале я хотел бы взять файл, который содержит что-то вроде человека, читаемого, например: «Пакет xyz был обновлен в [дата / время]. Он должен был изменять файлы a, b и c, но не мог, потому что система заблокирован / блокирует действие. Во время следующей перезагрузки файлы a, b и c будут заменены. " Но что-то не полностью понятное для человека, вероятно, тоже хорошо.

    
задан E. Diaz 13.08.2015 в 18:51
источник

2 ответа

24

Изменить: другое, возможно релевантное или полезное статья .

Как вы уже узнали, вы можете найти пакеты, требующие перезагрузки в /var/run/reboot-required.pkgs

Теперь вам просто нужно посмотреть в списке изменений пакета, чтобы найти нужную информацию.

  • Если вы уже находитесь на машине, вы можете найти изменения в /usr/share/doc/${package_name} (пример: zless /usr/share/doc/linux-image-3.13.0-61-generic/changelog.Debian.gz ).
  • Debian предоставляет некоторые инструменты, такие как apt-listchanges , чтобы сделать это более удобным ( 1 , 2 , < a href="https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_safeguarding_for_package_problems" title="Справка Debian: защита для проблем с пакетом"> 3 ).
  • Другой способ сделать это - использовать packages.ubuntu.com .

    В вашем случае:

ответ дан LiveWireBT 09.09.2015 в 09:08
1

В конечном итоге файл называется /usr/lib/update-notifier/update-motd-reboot-required (он вызывается /etc/update-motd.d/98-reboot-required ).

Внутри условного оператора if из одного из этих файлов просто добавьте следующее:

    echo "Packages causing reboot:"
    cat /var/run/reboot-required.pkgs

Итак, например, ваш файл /usr/lib/update-notifier/update-motd-reboot-required будет выглядеть примерно так:

#!/bin/sh -e
#
# helper for update-motd

if [ -f /var/run/reboot-required ]; then
        cat /var/run/reboot-required
        echo "Packages causing reboot:"
        cat /var/run/reboot-required.pkgs
fi
    
ответ дан Berto 01.06.2017 в 12:51