Как я могу сказать, из командной строки, требуется ли перезагрузка компьютера?

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

Добавление 5 -задержка на второй фрагмент кода, который извлекает список контактов (чтобы система могла загружать все контакты) работает прелесть.

1
задан 14 December 2015 в 18:08

7 ответов

В пакете debian-goodies есть команда с именем checkrestart, которая весьма полезна. Его выход может помочь вам избежать полной перезагрузки.

39
ответ дан 29 May 2018 в 13:06
  • 1
    Как это может заставить меня избежать полной перезагрузки? – Oxwivi 9 September 2011 в 20:03
  • 2
    Он сообщает вам, какие запущенные приложения загружали разделяемые библиотеки, которые были обновлены во время работы приложения. Затем вы перезапускаете приложения и службы вручную и избегаете полной перезагрузки. Тем не менее, это не помогает при обновлении ядра. – aquaherd 16 September 2011 в 01:38
  • 3
    Это должен быть главный ответ. Очень полезно. OpenSUSE получил встроенный инструмент (а также поможет вам как его запустить). Позор Ubuntu просто переходит и перезапускается, перезагружается & quot ;. Например, здесь требуется перезагрузка. Следовательно, нет необходимости перезапускать. – Shiki 11 March 2013 в 20:22
  • 4
    @aquaherd Очень полезный комментарий - может быть стоит переместить это в ваш ответ? – Duncan Jones 5 February 2018 в 20:44

Обычно, если файл

/var/run/reboot-required 

существует, вы должны перезагрузиться. Вы можете увидеть, есть ли этот файл, используя эту простую команду в gnome-terminal.

ls /var/run/reboot-required
31
ответ дан 29 May 2018 в 13:06

Как и самые прямые методы, написанные другими, есть удобное указание, если вы используете byobu - набор сценариев, чтобы сделать экран GNU немного более удобным для пользователя. Он показывает набор информации в нижней части экрана, и это может включать в себя необходимость перезагрузки - вместе с тем, доступны ли обновления, время, время безотказной работы, память ...

На этом снимке экрана вы можете видеть из 199! в нижней строке с красным фоном, что доступно 199 обновлений, а ! означает, что некоторые из них - обновления для системы безопасности. Меню на переднем плане выбирает, какие статусные уведомления должны отображаться.

Если требуется перезагрузка, это будет обозначаться символом (R), отображаемым на нижней панели с белым текстом на синем фоне. Более подробную информацию и другие индикаторы можно прочитать в byobu .

17
ответ дан 29 May 2018 в 13:06

Файл /etc/motd получает информацию о необходимости перезагрузки из файла /var/run/reboot-required.

Вы можете проверить содержимое этого файла в терминале с помощью команды cat /etc/motd

9
ответ дан 29 May 2018 в 13:06

Я добавил следующее в мой .bash-aliases файл:

alias rr='if [ -f /var/run/reboot-required ]; then echo "reboot required"; else echo "No reboot needed"; fi'

Казалось проще, чем установить пакет для этой относительно простой задачи. Затем я просто запускаю:

you@somewhere:~$ rr
No reboot needed
you@somewhere:~$ 
5
ответ дан 29 May 2018 в 13:06

Если у вас установлены установленные для перезагрузки-уведомления или обновления-уведомления-общие пакеты, вы получаете файлы / var / run / reboot-required и /var/run/reboot-required.pkgs

reboot-notifier является более новым в Ubuntu Wily и Xenial. Debian растягивается, но в jessie-backports

reboot-notifier старше, во всех версиях Ubuntu, включая Xenial и Debian Wheezy. Не в Debian Stretch или Jessie.

(Существует некоторый фон для пакета уведомлений о перезагрузке по адресу https://feeding.cloud.geek.nz/posts/introducing-reboot-notifier/) [!d5 ]

Если у вас нет этих пакетов, вы можете сравнить версию установленного пакета linux с версией:

tim@tramp:~$ dpkg -l linux-image-*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                              Version               Architecture          Description
+++-=================================-=====================-=====================-=======================================================================
ii  linux-image-3.16.0-4-amd64        3.16.7-ckt20-1+deb8u4 amd64                 Linux 3.16 for 64-bit PCs
ii  linux-image-amd64                 3.16+63               amd64                 Linux for 64-bit PCs (meta-package)
tim@tramp:~$ more /proc/version
Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian <b>3.16.7-ckt20-1+deb8u3</b> (2016-01-17)

Вы можете видеть здесь, что последнее установленное ядро 3.16.7-ckt20-1 + deb8u4, но работает ядро ​​3.16.7-ckt20-1 + deb8u3. Поэтому для этой системы требуется перезагрузка. U4 vs u3 в конце.

Возможно, вам потребуется прокрутить окно выше. В версии / proc / version важна версия рядом с концом строки.

Очень малое изменение кода версии типично для обновления ядра ядра Debian.

needrestart

Другой вариант - установить пакет needrestart.

sudo apt-get install needrestart
sudo needrestart -k

Кажется, что он работает, даже если needrestart был установлен после обновления ядра.

5
ответ дан 29 May 2018 в 13:06
  • 1
    Как ваш первый абзац соотносится с версиями Ubuntu? – muru 7 March 2016 в 02:16
  • 2
    Хорошая точка зрения. Благодарю. Я потратил столько времени на тестирование и тестирование пакетов, которые я пропустил. Я редактировал, чтобы сделать более четким и включить информацию о пакете ubuntu. – Tim Bray 8 March 2016 в 03:52
  • 3
    Вернемся к 8.04, после обновления, требующего перезагрузки, Cog станет красным. Как мне вернуть это поведение? – PenguinCSC 14 June 2016 в 11:53
  • 4
    Ubuntu 14.04, я получаю dpkg-query: no packages found matching linux-image-* – the_nuts 26 September 2016 в 13:36
  • 5
    Unknown option: k в Ubuntu 14.04. – Cees Timmerman 17 November 2016 в 18:58

Не ответ на вопрос, но предостережение относительно нескольких ответов: /var/run/reboot-required не является надежным источником того, действительно ли требуется перезагрузка.

Простой тест: когда новый ядро становится доступным, устанавливает его, перезагружается. После перезагрузки запустите apt autoremove, чтобы избавиться от старых, более не требуемых ядер. После того, как вы запустите это, будет указано, что требуется перезагрузка, что является полной бессмыслицей.

0
ответ дан 29 May 2018 в 13:06
  • 1
    Ну, удаление ядра повторно создает файл конфигурации grub, после чего, вероятно, стоит перезагрузить компьютер, чтобы убедиться, что вы все еще можете загрузиться. По крайней мере, именно так я оправдываю эту (неправильную) функцию для себя. – Marius Gedminas 14 September 2017 в 13:15

Другие вопросы по тегам:

Похожие вопросы: