Помимо обновления ядра, есть ли какие-либо изменения в системе Linux, которые требуют перезагрузки? Я знаю, что бывают ситуации, когда перезагрузка облегчает задачу, но есть ли такие, которые нельзя выполнить, кроме как перезагрузкой?
Чтобы уточнить: я имею в виду типичную настольную или серверную систему, которая не страдает от аппаратного сбоя.
Ответы:
Несколько вещей приходят на ум:
Выздороветь от паники ядра
Паника ядра по определению не может быть восстановлена без перезапуска ядра.
Восстановление от зависаний, которые оставляют вас без терминального доступа
Если система не отвечает, и вы не можете выполнить команды восстановления, единственное, что вы можете сделать, это перезагрузить компьютер. Как правило, вы хотите избежать ручного включения питания. Для подобных ситуаций в ядре Linux есть поддержка Magic SysRq, которую можно использовать для перезагрузки машины в чрезвычайной ситуации.
Пока
CONFIG_MAGIC_SYSRQ
опция включена в конфигурации ядра, аkernel.sysrq
sysctl
опция включена, вы можете выдавать команды непосредственно ядру с помощью волшебных комбинаций клавиш SysRq:Обратите внимание, что Alt+ SysRqниже означает, что нажмите и удерживайте Alt , затем нажмите и удерживайте SysRq (обычно это PrintScrnклавиша).
SIGTERM
всем процессам, кромеinit
, давая им возможность завершить изящноSIGKILL
всем процессам, кромеinit
, заставляя их завершитьAlt+ SysRq+ b: перезагрузка или
Alt+ SysRq+ o: выключение
Мнемоника магических комбинаций клавиш SysRq для попытки постепенной перезагрузки:
" R Eboot Е VEN Я F S ystem U tterly В Roke "
Для безголовых серверов существует даже цель iptables, позволяющая удаленные последовательности SysRq по сети.
Восстановление из состояния без загрузки
Если система уже была приведена в состояние, при котором обычная загрузка невозможна (например, в результате неудачного обновления системы, поврежденной файловой системы и т. Д.), Единственным способом доступа к консоли восстановления в системе может быть перезагрузка используя соответствующие параметры загрузки.
Изменить параметры ядра во время загрузки
Некоторые параметры ядра (например,
audit
для включения / отключения аудита ядра) могут быть установлены только тогда, когда ядро загружается во время загрузки.источник
Есть два раза, когда я могу думать о том, где я хотел бы перезагрузиться:
Когда мне нужно убедиться, что система может загрузиться в правильном состоянии.
Однажды я работал в системе, в которой во время работы был настроен какой-то демон. После того, как он работал в течение нескольких лет, из-за сбоя питания он перезагружался, но демон не был частью процесса запуска, и никто не имел понятия, как он был настроен годами ранее. Система не работала в течение нескольких дней, пока мы выяснили, как ее перенастроить.
Фактически перезагрузка - это единственный способ точно знать, что ваша система перезагрузится должным образом после сбоя питания.
Когда системная библиотека была обновлена.
Скажем, в библиотеке обнаружен серьезный недостаток безопасности, который используется многими приложениями / серверами в системе. Вы можете обновить библиотеку без перезагрузки, но сколько процессов все еще работает с загруженной небезопасной библиотекой? Вы можете кропотливо перезапустить что-нибудь, используя старую библиотеку (если вы можете это выяснить), но это подвержено ошибкам и может занять больше времени, чем просто перезагрузка.
Перезагрузка - лучший способ убедиться, что все запущенные процессы по-прежнему не используют старую, глючную библиотеку.
источник
lsof
прежде чем обновлять библиотеки.Если вы имеете в виду запланированные изменения в конфигурации программного обеспечения и предполагаете, что оборудование работает идеально (я такого еще не видел) и программное обеспечение без ошибок (вы знаете ...), то только ошибка в ядре или драйвере заставит вас перезагружать. :)
Кроме этого ... Я не уверен, что можно было бы заменить,
init
не переключаясь в однопользовательский режим и не совершая магию, которая по сути мало чем отличается от перезагрузки.источник