Европейский Университет в Санкт-Петербурге
Опубликован: 10.10.2005 | Доступ: свободный | Студентов: 1716 / 298 | Оценка: 4.30 / 3.85 | Длительность: 16:22:00
ISBN: 978-5-94774-820-8
Лекция 9:

Запуск и останов системы

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >

Сценарии запуска системы

В каталогах /etc/rcN.d лежат скрипты запуска системы, то есть те скрипты, которые запускают и останавливают отдельные приложения. Имена файлов в каталогах имеют вид KnnNAME или SnnNAME, где nn - это целое положительное число, а NAME - имя приложения (обычно - демона).

Файлы, начинающиеся с буквы S (start), - это скрипты для запуска приложения, файлы, начинающиеся с K (kill) - для завершения работы приложения. Номер nn определяет порядок запуска скриптов - вначале запускаются те, что имеют меньший порядковый номер.

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

То, какие именно скрипты запускать, описано в файле /etc/rcN ( N может принимать значения от 0 до 6 и s), который, собственно, и вызывается процессом init . Файлы /etc/rcN являются символическими ссылками на файлы /sbin/rcN (см. файл /etc/inittab выше).

Так, если initdefault =3, а каталог /etc/rc3.d содержит нижеуказанные скрипты, то первым выполнится S13kdc.master, затем S14kdc, и так все по порядку (последним будет S90samba ):

README 
S13kdc.master 
S14kdc 
S15nfs.server 
S16boot.server 
S34dhcp 
S50apache 
S76snmpdx 
S77dmi 
S80mipagent 
S81volmgt 
S89sshd 
S90samba

Программы shutdown, init, poweroff, halt, reboot

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

В Solaris есть несколько таких программ:

/usr/sbin/shutdown
/sbin/init
/usr/sbin/halt
/usr/sbin/reboot
/usr/sbin/poweroff
Stop+A или L1+A

Программы /usr/sbin/shutdown, /sbin/init, /usr/sbin/halt выполняют завершение всех процессов в системе, записывают несохраненные данные на диск, и переводят систему в новый режим работы (в том числе и в состояние остановки).

Программа /usr/sbin/reboot выполняет все вышеперечисленное и затем переводит систему в режим, определенный как initdefault в /etc/inittab.

Команда /usr/sbin/poweroff обеспечивает переход в режим номер 5, т.е. она эквивалентна команде init 5.

Последняя команда (комбинация клавиш) доступна только в SPARC-системах, где соответствующие клавиши есть на клавиатуре, и посылаемый ими код отрабатывается как аварийный останов. Аварийный останов следует выполнять только в крайнем случае, так как при таком завершении работы системы все процессы прерываются немедленно, без всякой записи данных на диск, и последствия могут быть незавидными для тех, чьи данные не были сохранены.

Программа shutdown

Самый общий способ остановки системы - программа shutdown, она есть в любом варианте UNIX. В Solaris эта программа имеет следующий синтаксис вызова:

shutdown [-y] [-gпериод_ожидания] [-iрежим]

например

shutdown -y -g0

Эта команда выполняется только привилегированным пользователем для изменения режима работы системы. Обычно она применяется для перехода из многопользовательского режима (3) в другой режим.

По умолчанию, команда переводит систему в режим 0, то есть состояние, в котором безопасно отключать питание. Это состояние называется состоянием останова (shutdown state).

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

  • -y - автоматически отвечает утвердительно на все запросы о желании перезагрузить систему, чтобы программа shutdown могла работать без вмешательства администратора;
  • -gпериод_ожидания - позволяет администратору явно указать период_ожидания (в секундах);
  • -iрежим - задает режим, в который будет переведена система после предупреждений, если они выдаются.

Файл /etc/default/shutdown используется для задания значений, специфичных для вашей системы.

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

Если указать ключ -y, то запрос на подтверждение не выводится, так как предполагается положительный ответ на него.

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

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

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

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >