Как перезагрузить и выключить серверы Linux?

Одним из частых действий системного администратора является перезагрузка или отключение серверов.

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

Система Linux предлагает несколько различных способов перезагрузки или выключения сервера. Нормальная система должна реагировать на любую команду, в то время как деградировавший сервер может потребовать принудительной перезагрузки. Обратите внимание, что для успешного выполнения большинства этих команд потребуется определенный уровень привилегий либо в качестве суперпользователя, либо с помощью sudo, поскольку перезагрузка системы является административной задачей, а для многопользовательской системы или сервера, на котором выполняются критические процессы, перезагрузка или завершение работы являются подрывная деятельность.

В этой статье рассматриваются несколько таких методов, которые могут помочь вам при перезагрузке/выключении Linux.

Метод графического интерфейса

Если вы используете графическую среду рабочего стола для Linux, такую ​​как Gnome, KDE, Mate, XFCE и т. д., вы найдете кнопку питания в меню системы/приложения, которая предлагает такие действия, как выход из системы, перезагрузка, переход в спящий режим или отключение питания. Доступные параметры могут незначительно отличаться в зависимости от используемого дистрибутива, среды рабочего стола и версии ОС. Но вы обязательно найдете настройки, связанные с питанием, в доступных меню, чтобы изменить состояние питания вашей системы.

Например, на моем рабочем столе Ubuntu Mate я могу найти параметр «Завершение работы» в меню питания в правом верхнем углу экрана.

После того, как вы выберете опцию «Завершение работы…», вам будет представлено диалоговое окно с несколькими вариантами, такими как «Приостановить», «Перезапустить», «Отменить» и «Завершить работу». Вы можете либо продолжить перезапуск, либо завершить работу, нажав правую кнопку, или отменить и вернуться к среде рабочего стола.

Предлагаемый графический интерфейс и параметры могут немного отличаться в зависимости от используемого вами дистрибутива и среды рабочего стола, но будьте уверены, что есть возможность изменить состояние питания системы. А с графическим интерфейсом это не более чем несколько кликов в меню питания.

  5 лучших инструментов шифрования Linux для установки

команда systemctl

В Linux-системе, где в качестве системы инициализации используется systemd, вы можете использовать команду systemctl для перезагрузки компьютера.

$ sudo systemctl start reboot.target

Или вы можете просто использовать systemctl с требуемой опцией, например, для перезагрузки как:

$ sudo systemctl reboot

Для запуска выключения команда systemctl выглядит так:

$ sudo systemctl shutdown

Чтобы остановить систему, используйте:

$ sudo systemctl halt

Команда выключения

Команда shutdown может использоваться как для выключения питания, так и для перезагрузки системы Linux. Для немедленной перезагрузки системы используйте:

$ sudo shutdown -r now

Или, чтобы отключить систему без ожидания, используйте флаг -h или -P:

$ sudo shutdown -P now 

Мы можем добавить задержку к команде выключения для перезагрузки/выключения системы через указанный интервал. Это может быть достигнуто как:

$ sudo shutdown -r 10

Чтобы остановить систему, не запрашивая выключение оборудования, вы можете использовать флаг -H:

$ sudo shutdown -H now

Если вы просто укажете команду выключения, выключение будет запланировано через минуту. Чтобы выключить в определенное время, используйте:

$ sudo shutdown 22:30

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

$ sudo shutdown 23:00 "Powering off system for maintenance...save your work"

Чтобы отменить запланированное завершение работы, вы можете использовать флаг -c:

$ sudo shutdown -c

В некоторых системах команда завершения работы вызывает systemctl в бэкэнде для достижения желаемой операции перезагрузки/выключения.

Команда перезагрузки

Чтобы изящно перезагрузить систему, вы также можете использовать команду reboot (может потребоваться использовать с sudo).

$ sudo reboot

Чтобы выключить систему с помощью команды reboot, используйте флаг -p:

$ sudo reboot -p

Чтобы принудительно выполнить перезагрузку (для систем, не отвечающих на обычную команду перезагрузки), вы можете попробовать флаг -f следующим образом:

$ sudo reboot -f

Команда остановки

Чтобы остановить систему, вы можете просто использовать команду halt:

$ sudo halt

Команда отключения питания

Чтобы выключить систему, у вас есть возможность использовать команду poweroff:

$ sudo poweroff

команда инициализации

Для систем, не работающих на systemd, команда init (telinit также будет работать) предлагает параметры для изменения уровня запуска системы. Чтобы перезагрузить систему с помощью init, вы можете использовать:

$ sudo init 6

Точно так же, как и для остановки системы, используется команда инициализации:

$ sudo init 0

Вызов определенного уровня запуска с помощью init приводит к тому, что процесс инициализации системы выполняет серию сценариев инициализации в определенном порядке, чтобы обеспечить достижение системой желаемого уровня выполнения. Уровень выполнения 6 определен для перезагрузки, а уровень выполнения 0 — для остановки системы.

  Как заглянуть внутрь двоичных файлов из командной строки Linux

Кнопка питания

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

Для удаленного сервера под управлением Linux кнопка питания обычно выключает систему. Но те, которые расположены в удаленных центрах обработки данных, имеют дополнительную возможность перезагрузки или отключения питания с помощью своих инструментов удаленного управления отключением света CLI / GUI, предлагаемых соответствующими поставщиками серверов.

Комбинация Alt + SysRq

Не отвечающую, зависшую систему трудно перевести в состояние перезагрузки или отключения питания. Когда у вас нет другого выхода и в крайнем случае, вы можете попробовать нажать Alt + PrintScreen + последовательность клавиш, чтобы мгновенно перезагрузить систему. Возможно, это не предпочтительный или рекомендуемый вариант, но, тем не менее, его можно использовать в крайнем случае.

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

  Как редактировать текстовые файлы графически в Linux с помощью gedit

Чтобы эта опция работала, она должна быть включена в ядре Linux. Вы можете проверить это, используя следующую команду:

$ cat /proc/sys/kernel/sysrq

Выход 1 указывает на то, что он полностью включен, а число больше указывает на то, что он частично включен с некоторыми функциями. Чтобы включить его явно, вы можете использовать:

$ sudo echo “1” > /proc/sys/kernel/sysrq

Чтобы перезагрузить систему с помощью этого метода, продолжайте удерживать Alt + SysRq (PrintScreen), а затем последовательно нажимайте следующие клавиши с интервалом в несколько секунд между каждой клавишей:

R E I S U B

или для выключения нажмите O вместо B в конце:

R E I S U O

Вот что означают ключи:

  • R: Переключить клавиатуру из режима raw в режим XLATE.
  • E: отправить сигнал SIGTERM всем процессам, кроме init.
  • I: отправить сигнал SIGKILL всем процессам, кроме init
  • S: синхронизировать все смонтированные файловые системы.
  • U: перемонтировать все смонтированные файловые системы как доступные только для чтения

Наконец, у нас есть либо B, либо O, что означает:

  • B: Немедленная перезагрузка системы без размонтирования разделов и синхронизации.

ИЛИ ЖЕ

  • O: Немедленно выключите систему, не размонтируя разделы и не синхронизируя их.

Резюме

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

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

Узнайте, как настроить WAS, чтобы он не запрашивал пароль при завершении работы, здесь.