Linux: перезагрузка и выключение системы

Андрей Волков

Андрей Волков

Системное, сетевое администрирование +DBA. И немного программист!))  Профиль автора.

Остановка, выключение и перезапуск LinuxБуферы файловых систем Linux хранятся в памяти и лишь изредка записываются на диск. Это ускоряет выполнение операций дискового ввода-вывода, но повышает риск потери данных в случае внезапного сбоя.

Традиционные UNIX- и Linux-системы были очень требовательны в отношении про­цедуры выключения. Современные системы более терпимы (особенно если речь идет о такой высоконадежной файловой системе, как ext3fs), но все же лучше корректно завер­шать работу, если это возможно. Неправильное выключение компьютера может привес­ти к появлению трудно обнаруживаемых, неочевидных ошибок, а иногда и к полному краху системы.



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

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

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

В отличие от начальной загрузки, которая осуществляется единственным способом, остановить и перезагрузить систему можно по-разному:

  • выключить питание;
  • ввести команду shutdown;
  • использовать команды halt и reboot;
  • изменить уровень выполнения демона init с помощью команды telinit;
  • выполнить команду poweroff, чтобы попросить систему выключить питание.

 

Выключение питания в Linux

Даже в системах настольных компьютеров выключение питания — не лучший спо­соб останова системы. Это может привести к потере данных и повреждению файловых систем.

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

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

 

Команда shutdown: корректный способ останова системы

Команда shutdown — самый безопасный и корректный способ остановить или пере­загрузить систему либо вернуться в однопользовательский режим.

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

С помощью команды shutdown можно указать, что должна сделать система после выполнения команды: остановиться (-h) или перезагрузиться (-r). Можно также задать, должна ли после перезагрузки выполняться принудительная проверка дисков с помо­щью команды fsck (-F) или нет (-f). По умолчанию Linux автоматически пропускает эту проверку, если файловые системы были корректно демонтированы.

Следующая команда напоминает пользователям о запланированной процедуре сер­висного обслуживания и отключает систему в 9:30 утра:

$ shutdown -h 09:30 "Going down for scheduled maintenance.
                     Expected downtime is 1 hour"

Можно также задать относительное время отключения. Например, приведенная ниже команда запустит процесс выключения через 15 минут:

$ shutdown -h +15 "Going down for emergency disk repair."

 

Команда halt: более простой способ останова

Команда halt выполняет все основные операции, необходимые для останова системы.

Обычно она вызывается командой shutdown -h, но может применяться и сама по себе. Команда регистрирует в журнальном файле факт останова, уничтожает несущест­венные процессы, выполняет системный вызов sync, дожидается завершения операций записи на диск, а затем прекращает работу ядра.

При наличии опции -n системный вызов sync подавляется. Команда halt -n ис­пользуется после восстановления корневого раздела командой fsck, чтобы ядро не мог­ло затереть исправления старыми версиями раздела, хранящимися в кэше.

 

Команда reboot: быстрый перезапуск

Команда reboot почти идентична команде halt. Разница лишь в том, что система перезагружается, а не останавливается. Режим перезагрузки вызывается также командой shutdown -r. Команда reboot тоже поддерживает флаг -n.

 

Команда telinit: изменение уровня выполнения демона init

С помощью команды telinit можно дать демону init указание перейти на кон­кретный уровень выполнения. Например, команда

$ telinit 1

переводит систему в однопользовательский режим.

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

 

Команда poweroff: запрос на выключение питания

Команда poweroff идентична команде halt, за исключением того, что после ос­танова операционной системы посылается запрос системе управления питанием (если таковая имеется) с указанием выключить питание компьютера. Это позволяет дистанци­онно выключать машины.

Эквивалентная команда poweron отсутствует. Причины должны быть всем очевидны.

 

Вас заинтересует / Intresting for you:

Основа операционной системы Li...
Основа операционной системы Li... 3031 просмотров Андрей Волков Wed, 09 Jan 2019, 05:36:45
Процессы Linux
Процессы Linux 4556 просмотров Doctor Wed, 23 Jan 2019, 16:47:24
Сигналы в Linux: назначение и ...
Сигналы в Linux: назначение и ... 2044 просмотров Fortan Fri, 05 Nov 2021, 07:58:01
Краткая история Linux
Краткая история Linux 2673 просмотров Андрей Волков Wed, 09 Jan 2019, 02:46:59
Войдите чтобы комментировать

apv аватар
apv ответил в теме #9657 3 года 9 мес. назад
Хорошая статья, Андрей! Все доступно описано, можно сказать разжевано и разложено по полочкам!