Когда вы устанавливаете определенные обновления (например, новое ядро) в Ubuntu Desktop, вы получаете указание на необходимость перезагрузки (в Lucid значок выхода из системы становится красным).
Как я могу проверить из командной строки, требуется ли перезагрузка сервера Ubuntu ?
Я мог /etc/motd
бы найти « Требуется перезагрузка системы» , но мне бы хотелось более элегантное решение. Кроме того, я хочу решение, которое работает в более старых версиях, например, Hardy (8,04 LTS).
command-line
package-management
Мариус Гедминас
источник
источник
Ответы:
Вы можете просто проверить, существует ли файл
/var/run/reboot-required
или нет.Например, любой из них скажет вам «нет такого файла» или «файл не найден», если вам не нужно перезагружаться, в противном случае (если вам нужно перезагружаться) файл будет существовать, и эти команды будут отображать информацию о файле:
В скрипте bash вы можете использовать:
источник
/var/run/reboot-required.pkgs
перечислит пакеты, которые требуют перезагрузки.В пакете debian-goodies есть команда с именем,
checkrestart
которая весьма полезна. Его вывод может помочь вам избежать полной перезагрузки.Он сообщает, какие запущенные приложения загрузили разделяемые библиотеки, которые были обновлены во время работы приложения. Затем вы перезапускаете приложения и службы вручную и избегаете полной перезагрузки. Не помогает с обновлениями ядра, хотя.
источник
Обычно если файл
существует, вы должны перезагрузить. Вы можете увидеть, есть ли этот файл, используя эту простую команду в gnome-terminal.
источник
Наряду с самыми прямыми методами, написанными другими, есть удобное указание, если вы используете byobu - набор скриптов, чтобы сделать экран GNU немного более удобным для пользователя. Он показывает набор информации в нижней части экрана, который может включать в себя информацию о необходимости перезагрузки - наряду с доступностью обновлений, временем, временем работы, используемой памятью ...
На этом скриншоте
199!
внизу строки с красным фоном видно, что доступно 199 обновлений. Это!!
означает, что некоторые обновления безопасности . Меню на переднем плане выбирает, какие уведомления о состоянии должны отображаться.Если требуется перезагрузка, это будет обозначено символом,
(R)
отображаемым в нижней строке с белым текстом на синем фоне. Более подробную информацию и другие показатели можно прочитать на странице руководства byobu .источник
/etc/motd
Файл получает информацию о том, требуется ли перезагрузка из/var/run/reboot-required
файла.Вы можете проверить содержимое этого файла в терминале с помощью
cat /etc/motd
командыисточник
Если у вас установлены пакеты reboot-notifier или update-notifier-common, вы получите файлы / var / run / reboot-required и /var/run/reboot-required.pkgs
reboot-notifier является более новым в Ubuntu Wily и Xenial. Debian растягивается, но в jessie-backports
update-notifier-common Устаревший, во всех версиях Ubuntu, включая Xenial и Debian Wheezy. Не в Debian Stretch или Джесси.
(Существует некоторая предыстория для пакета reboot-notifier по адресу https://feeding.cloud.geek.nz/posts/introduction-reboot-notifier/ )
Если эти пакеты не установлены, вы можете сравнить версию установленного пакета linux с запущенной версией:
Здесь вы можете увидеть, что последнее установленное ядро - 3.16.7-ckt20-1 + deb8u4, но работает ядро 3.16.7-ckt20-1 + deb8u3. Так что эта система нуждается в перезагрузке. U4 против U3 прямо в конце.
Возможно, вам придется прокрутить поле выше. В / proc / version важна версия ближе к концу строки.
Незначительное изменение кода версии типично для обновления ядра безопасности Debian.
needrestart
Другой вариант - установить
needrestart
пакет.Кажется, работает, даже если Needrestart был установлен после обновления ядра.
источник
dpkg-query: no packages found matching linux-image-*
Unknown option: k
в Ubuntu 14.04.Я добавил следующее в мой файл .bash-aliases:
Казалось бы, проще, чем установить пакет для этой относительно простой задачи. Тогда я просто бегу:
источник
Бедное мужское решение:
(Примечание: три случая квадратных скобок с пробелами внутри должны быть «[<space> <tab>]».)
источник
Не ответ на вопрос, но предостережение относительно нескольких ответов:
/var/run/reboot-required
это не надежный источник того, действительно ли требуется перезагрузка.Простой тест: когда новое ядро станет доступным, установите его, перезагрузите компьютер. После перезагрузки запустите,
apt autoremove
чтобы избавиться от некоторых старых, больше не требующихся ядер. После того, как вы запустите это, будет указано, что требуется перезагрузка, что является полной ерундой.источник