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

122

Эти два хороших сообщения SE (1, 2) комментируют перезапуск компьютера Ubuntu, но оставляют мне несколько вопросов:

  1. Как вы на самом деле делаете перезагрузку (я новичок и использую 12.04.1 LTS)?
  2. Должен ли я всегда перезагружать систему при появлении соответствующего запроса?
  3. Влияет ли перезапуск системы на доступ к ней через SSH или есть какие-то другие предостережения, о которых нужно подумать, прежде чем делать это?
тим петерсон
источник
2. нет: ошибка
Ярно

Ответы:

133

Должен ли я перезагрузить при появлении запроса?

Да, ты должен. В большинстве случаев требуется перезагрузка, когда установлено обновление ядра Linux. Эти обновления обычно являются обновлениями безопасности и вступают в силу только после перезагрузки. Обновления обычных приложений, таких как Firefox, вступают в силу после перезапуска программы. Firefox должен предложить вам сделать это автоматически, но другие программы могут этого не делать, так что об этом следует помнить.

Как перезагрузить:

Чтобы перезагрузить компьютер в Ubuntu 12.04, щелкните значок питания в правом верхнем углу экрана и выберите «Выключить ...». В появившемся диалоговом окне должна быть видна кнопка «Перезагрузка». В Ubuntu 12.10 опция перезагрузки появляется непосредственно в меню питания.

Для перезапуска из командной строки выполните следующую команду:

$ sudo reboot

Недостатки перезапуска:

В общем, перезапуск - это очень безопасная операция, и я не считаю ее ни в коем случае небезопасной. Конечно, когда вы перезагружаете компьютер, вы теряете всю информацию в оперативной памяти, поэтому обязательно сохраняйте все открытые документы и файлы перед выключением компьютера. Пока вы перезагружаетесь, ваш компьютер, конечно, будет отключен на несколько минут. Если вы используете сервер, он будет недоступен в течение нескольких минут. Если у вас открытый сеанс SSH, он будет прерван.

Флимм
источник
6
Просто добавьте к downsides: Если у вас запущен какой-либо процесс, такой как memcache, MySQL, подключенный диск и т. Д., Они могут не вернуться после перезагрузки (зависит от того, как они были настроены). Кроме того, лучше перезагрузить их вручную перед перезагрузкой.
Ноам
2
@Noam: Чтобы ответить на ваш первый вопрос, это правда, но разве вы не обнаружите, что когда вы там, чтобы перезагрузить компьютер, а не когда ядро ​​паникует посреди ночи? Для вашего второго замечания, почему было бы лучше выключить их вручную? Это тот же процесс в любом случае.
Flimm
1) Я согласен, что термин downsideне совсем правильный, но я думаю, что важно знать об этом и планировать процесс соответственно 2) Это так? Я уверен, что вы гораздо более осведомлены об этих проблемах, чем я, но у меня сложилось впечатление, что ручная остановка обслуживания может быть более безопасной, и вы также сможете увидеть любые ошибки на экране / предупреждения. Я ошибаюсь?
Noam
Нет, совсем не всегда . В случае OP, где он выполняет автоматические обновления, да, но на самом деле флаг «требуется перезагрузка» устанавливается всякий раз, когда изменяется grub (помимо прочего, я считаю), и поэтому устанавливается, если вы удаляете только старые ядра.
Auspex
Также может понадобиться использовать sudo apt-get autoremoveдля удаления устаревшие ядра. Я должен сделать это на некоторых серверах до перезагрузки, потому что мой загрузочный раздел может содержать только 3 или 4 ядра одновременно.
Phil_1984_
41

Должен ли я всегда перезагружать систему при появлении соответствующего запроса?

Вы можете просмотреть список пакетов, которые требуют перезагрузки:

more /var/run/reboot-required.pkgs

На основании списка вы можете решить, стоит ли перезапускать.

Пример вывода:

user@server:~$ more /var/run/reboot-required.pkgs
libssl1.0.0
linux-image-4.4.0-62-generic
linux-base
linux-base
linux-image-4.4.0-63-generic
linux-base
linux-base
linux-image-4.4.0-64-generic
linux-base
linux-base
network-manager
linux-image-4.4.0-66-generic
linux-base
linux-base
linux-base
linux-base
linux-base
linux-base
linux-base
network-manager

(Ответ был протестирован на Ubuntu 14.04 LTS x64 и Ubuntu 16.04 LTS x64)

Франк Дернонкур
источник
Есть ли у вас ресурс для определения того, какие пакеты требуют перезагрузки (например, важная защита)? Я понятия не имею, глядя на этот список.
глау
7
  1. Как перезагрузить:

    $ sudo reboot
    

    Или же

    $ sudo init 6
    
  2. Да, скорее всего, это обновления безопасности.

  3. Ничто не повлияет на подключение ssh после перезагрузки.

Усама Эль-Гедави
источник
2
  1. Другой вариант использует sudo shutdown -r now

  2. Если будет предложено, вы должны сделать это; поскольку в системе есть какие-то вещи, которые необходимо применить (чаще всего, если вы решите автоматически загружать и устанавливать обновления, или вы сами изменили что-то, что требует перезагрузки для применения изменений в вашей системе).

  3. SSH определенно будет затронут после перезагрузки, и это будет прекращено. Я могу предложить Putty, так как он предоставит возможность в своем контекстном меню повторно подключить сеанс.

Ahmadgeo
источник
1

Всегда пытайтесь перезагрузить компьютер после обновления Ubuntu, установить драйверы и некоторые приложения, которые хотят перезагрузить ОС (Ubuntu).

когда устанавливаются новые обновления или устанавливается драйвер, они хотят перезагрузить операционную систему для нормальной работы и правильного использования.

Обычному приложению или пакету не нужно перезагружать ОС после установки.

Гаурав Шарма
источник
1

Еще одна оговорка, которую я не видел, чтобы кто-то еще упоминал:

Если ящик, в который вы входите по SSH, подключен через Wi-Fi, то при перезагрузке у вас может не быть доступа к сети Wi-Fi, пока пользователь физически не войдет в систему на удаленной машине, что означает сбой SSH, так как ящик не будет подключен в сеть.

Чтобы избежать этого, на удаленном компьютере необходимо заранее настроить Wi-Fi, чтобы он был доступен для всех пользователей. Щелкните значок сети на панели задач и выберите «Редактировать подключения ...», выберите свою сеть Wi-Fi и нажмите кнопку «Изменить», затем убедитесь, что установлены флажки «Подключаться автоматически» и «Доступно для всех пользователей».

Вы также можете решить эту проблему, поэкспериментировав с / etc / network / interfaces и wpa_supplicant, но я обнаружил, что этот путь намного сложнее, чем просто установка флажка.

Примечание: для меня перед внесением вышеуказанных изменений подключение из WSL в Windows к коробке с Ubuntu дало «Ресурс временно недоступен». Попытка прибегнуть к помощи приведет вас к кроличьей норе возможных ошибок WSL, но для меня проблема была в том, что Wi-Fi не был подключен, пока кто-то не вошел в систему. Применение вышеуказанного исправления решило проблему.

пользователь
источник