Эта статья ориентирована на самых новичков в Linux ну и тех кого интересует как перезагрузить Linux из консоли. Для меня перезагрузить компьютер в терминале или с помощью графического интерфейса это элементарно, но это база, не все новички ее знают и надо об этом написать.
Сегодня мы рассмотрим такие вопросы, как команда перезагрузки Linux из консоли, перезагрузка удаленно, и непосредственно перезагрузка в графическом интерфейсе. Начнем, пожалуй, с обычной перезагрузки системы.
Содержание статьи
- Перезагрузка Linux в графическом интерфейсе
- Перезагрузка Linux в терминале
- Удаленная перезагрузка Linux
- Выводы
Перезагрузка Linux в графическом интерфейсе
Здесь, как говорится, что может быть проще. Рассмотрим сначала перезагрузку в Ubuntu Unity. Достаточно нажать на кнопку с шестеренкой в правом верхнем углу экрана, и выбрать пункт Выключение:
Затем в открывшимся окне кликнуть по пункту Перезагрузка:
В окружении рабочего стола Gnome, все очень похоже на Unity, а в KDE нужно открыть главное меню, перейти на вкладку выход, и выбрать пункт перезагрузить:
Затем подтвердить перезагрузку.
Перезагрузка Linux в терминале
А здесь уже простор намного шире, существует около десятка команд, которыми можно перезагрузить Linux. Одним нужны root привилегии, другим нет, одни выглядят просто и легко запоминаются, а другие длинные и сложные. Дальше мы рассмотрим их все.
Первая команда перезагрузки Linux, самая распространенная и самая простая:
sudo reboot
Как видите, утилите нужны права суперпользователя. После нажатия Enter компьютер сразу уйдет в перезагрузку.
Утилита shutdown, которая используется для выключения тоже позволяет перезагрузить компьютер для этого нужно передать ей параметр -r. Плюс к тому же можно указать время перезагрузки. Сейчас - 0 или now, через одну минуту +1 через две - +2 и т д:
sudo shutdown -r +1
Перезагрузка Linux будет выполнена через минуту после ввода команды.
В системах инициализации совместимых с Init Scripts, существовали уровни загрузки системы - 0,1,2,3,4,5,6, уровень 0 - означал выключение, 6 перезагрузку, остальные режимы работы системы нас сейчас не интересуют. Переключаться между уровнями можно командой init. Только опять же нужны права суперпользователя. Таким образом:
sudo init 6
Служба системных сообщений dbus тоже умеет перезагружать компьютер:
Тут уже не нужны права суперпользователя. Это были обычные способы перезагрузки Linux, но есть еще один, нестандартный или даже два. Это магические SysRq клавиши. Ядро Linux отслеживает нажатие определенных сочетаний клавиш, и в ответ на них выполняет нужные действия. Сначала включаем поддержку sysrq:
echo 1 > /proc/sys/kernel/sysrq
Лучше это сделать заблаговременно, так как этот способ полезен когда система зависла и ни на что не реагирует:
nano /etc/sysctl.conf
Для активации SysRq сочетания зажмите Alt + SysRq и нажмите код клавиши. Для нормальной перезагрузки рекомендуется использовать следующую последовательность: R E I S U B, клавиши нажимать в той же последовательности с интервалом приблизительно секунду.
- R - возвращает управление клавиатурой если Х сервер был завершен некорректно;
- E - ядро посылает всем процессам, кроме init сигнал SIGTERM;
- I - отправляет всем процессам, кроме init сигнал SIGKILL;
- S - ядро проводит синхронизацию файловых систем, все данные из кэша переносятся на жесткий диск;
- U - перемонтирует все файловые системы в режим только чтение;
- B - немедленная перезагрузка, без синхронизации, и дополнительных приготовлений.
Перед перезагрузкой система ожидает завершения всех процессов, останавливает все сервисы, отключает и монтирует в режиме только чтения файловые системы. Это мы и делаем, нажимая последовательно эти сочетания клавиш. Но если вам нужно перезагрузить систему сейчас не дожидаясь отключения всех процессов, например, сервер, можно сразу отправить сигнал B. Вот так: Alt + SysRq + B.
SysRq можно задействовать и без сочетаний клавиш, записав нужный код операции в файл /proc/sysrq-trigger:
echo b > /proc/sysrq-trigger
Система будет перезагружена как есть, без остановки сервисов и подготовки файловых систем, поэтому не сохраненные данные могут быть потеряны, а файловая система повреждена.
Удаленная перезагрузка Linux
Если у вас есть доступ к серверу по ssh то можно очень просто удаленно перезагрузить linux с помощью одной из выше приведенных команд, например:
ssh root@remote-server.com /sbin/reboot
Только опять же для этой операции нужно иметь права root на удаленном сервере.
Выводы
Теперь вы знаете как выполняется перезагрузка linux, вы даже знаете что делать когда система зависла и как перезагрузить сервер по ssh. Если у вас остались вопросы, спрашивайте в комментариях!
"Для активации SysRq сочетания зажмите Alt + SysRq и нажмите код клавиши"
Какою клавишу нажать для активации?
Нужно одновременно зажать три клавиши Alt, PrtSCR и клавишу действия, это буквенная или цифровая клавиша. Например Alt + PrtScr + b - перезагрузка
Почему спрашиваю - у меня стоит еще искра, так там я ничего не настраивал, но когда-то нашел эту последовательность и при подвисании использую, но действует примерно один раз из пяти.
Кстати, на том сайте (уже не помню на каком) не писали, что надо предварительно включать что-то. Все и так работает, но редко.
Посмотрел сегодня в настройках опенсузе - так там можно просто нажать на кнопку и активируется функция SysRq и ничего в терминале писать не надо. Потом попробовал использовать. Последовательно нажимал: Alt + PrtScr + r; Alt + PrtScr + e; Alt + PrtScr + i; Alt + PrtScr + s; Alt + PrtScr + u; Alt + PrtScr + b. Все заработало. При подвисании также будет работать или через раз?
Это в зависимости от степени зависания если ядро живо - то да, будет работать. Вообще, если перепонена память лучше использовать alt+prtscr+f Ядро попытается завершить программу которая занимает больше всего.
systemctl reboot