Время от времени я помещаю SSH в коробку с автоматическими обновлениями и получаю сообщение «** Требуется перезагрузка системы ***» без дополнительной информации.
Мой файл /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 будут заменены. " Но что-то не совсем понятное человеку, вероятно, тоже хорошо.
Ответы:
Редактировать: другая, возможно, актуальная или полезная статья .
Как вы уже узнали, вы можете найти пакеты, которые требуют перезагрузки в
/var/run/reboot-required.pkgs
Теперь вам просто нужно заглянуть в список изменений пакета, чтобы найти информацию, которую вы ищете.
/usr/share/doc/${package_name}
(пример :)zless /usr/share/doc/linux-image-3.13.0-61-generic/changelog.Debian.gz
.apt-listchanges
чтобы сделать это более удобным ( 1 , 2 , 3 ).Еще один способ сделать это - использовать package.ubuntu.com .
В твоем случае:
источник
Файл в конечном итоге называется
/usr/lib/update-notifier/update-motd-reboot-required
(он называется/etc/update-motd.d/98-reboot-required
).Внутри условного оператора if одного из этих файлов просто добавьте это:
Так, например, ваш
/usr/lib/update-notifier/update-motd-reboot-required
файл будет выглядеть примерно так:источник