Европейский Университет в Санкт-Петербурге
Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 1309 / 258 | Оценка: 4.34 / 3.65 | Длительность: 21:13:00
Лекция 11:

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

< Лекция 10 || Лекция 11: 12345 || Лекция 12 >

Программа init

С помощью программы init систему можно перевести в любой режим работы. Часто эта программа используется для перехода в однопользовательский режим или перехода из него в многопользовательский. Для этого дается команда

init режим_работы

Кроме описанных выше режимов работы, можно указать режимы a, b, c и q. Режимы a, b, c – это псевдорежимы, они существуют только для того, чтобы было можно с помощью init запустить отдельные программы, которые отмечены в /etc/inittab как соответствующие данным режимам. Команда

init q

вызывает перечитывание процессом init файла /etc/inittab. Следовательно, если вы изменили этот файл и желаете, чтобы изменения оказали немедленное влияние на систему, следует дать команду init q.

Программа telinit является символической ссылкой на init, и ее используют для передачи команд запущенной в данный момент программе init.

В ответ на команду init 1 вы увидите нечто вроде:

INIT: New run level: 1
Changing to state 1.
Unmounting remote filesystems: /vol nfs done.
System services are now being stopped.
May 14 13:13:22 unknown /usr/sbin/vold[475]: problem unmounting /vol;
Interrupted system call

<тут что-то еще....>

Killing user processes: done.
Change to state 1 has been completed.
Type control-d to proceed with normal startup,
(or give root password for system maintenance):

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

Команда halt

Для немедленного начала остановки системы (подобно shutdown –y –g0 ) можно использовать команду halt. От shutdown она отличается тем, что не предупреждает интерактивно работающих пользователей о скорой остановке работы. Эту команду можно смело давать в однопользовательском режиме или для остановки сервера, на котором никто не работает интерактивно, кроме администратора.

Команда halt выполняет запись кэшируемых данных на диск.

Команда reboot

Команда reboot обычно используется для завершения работы в однопользовательском режиме и переходу к многопользовательскому. Эта команда выполняется быстрее, чем shutdown, потому что она не выполняет скрипты останова ( /etc/rcN.d/K* ) и не посылает никаких сообщений пользователям. Команда reboot выполняет запись кэшируемых данных на диск, так же, как и halt.

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

reboot -- -rs

Как видно из примера, чтобы отделить ключи самой reboot от тех, что будут переданы загрузчику, перед ключами последнего ставится два дефиса подряд.

Команда poweroff

Команда poweroff переводит систему в режим выполнения 5 и эквивалентна init 5. Пользователи не оповещаются об изменении режима работы, скрипты завершения K* не выполняются, и, если аппаратура компьютера поддерживает программное выключение питания, выключается питание компьютера.

Аварийная остановка системы

В некоторых случаях операционная система перестает отвечать на запросы и не откликается даже на команду reboot. В таком случае говорят, что система "зависла". Это явление, надо признать, более знакомо пользователям Windows 98, нежели администраторам Solaris, но, тем не менее, и с последним такое может случиться.

Рекомендуют такую "зависшую" систему перезапустить, нажав Stop+A или L1+A (для платформы SPARC). Это должно привести к передаче управления на firmware. На физических терминалах, подключенных к последовательным портам, для этой цели возможно использовать клавишу Break.

Некоторые версии OpenBoot поддерживают ряд клавиатурных команд (они вводятся нажатием комбинаций клавиш), которые изменяют поведение OpenBoot при загрузке. Эти клавиши надо нажимать сразу после включения системного блока и держать их несколько секунд, до того, как мигнет светодиод на клавиатуре. Эта функциональность НЕ поддерживается на клавиатурах, подключаемых по USB.

К этим клавиатурным командам относятся:

  • Stop Пропустить исполнение процедуры начальной инициализации компьютера POST (Power-on self test). Некоторые системы SPARC по умолчанию и так пропускают исполнение POST, тогда для того, чтобы выполнить POST, следует нажать Stop+D.
  • <Stop+A> Прерывание всех запущенных в настоящее время процессов и предоставление командной строки в среде OpenBoot.
  • <Stop+D> Включение режима диагностики (эквивалентно установке переменной diag-switch? среды OpenBoot в значение true.
  • <Stop+F> Запуск Forth Monitor (программы, из которой возможно выполнять диагностику, изменить настройки или запусить загрузку системы). Forth Monitor написан на языке Forth (Форт), и перед запуском Forth Monitor запускается еще и интерпретатор этого языка. По нажатию Stop+F Forth Monitor запускается на порту ttya – вместо теста аппаратуры. Для выхода из него следует дать команду fexit. Такой запуск Forth Monitor может быть полезен при сбоях в оборудовании.
  • <Stop+N> Переустановка всех переменных NVRAM в значения по умолчанию.

Для изменения комбинаций клавиш, назначенных клавиатурным командам, надо отредактировать файл /etc/default/kbd. В нем также можно разрешить или запретить клавиатурные команды. После модификации файла следует дать команду kbd –i для изменения стандартных назначений на новые.

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

Изменение этапа работы системы

Для изменения режима работы системы рекомендуется по-прежнему использовать вышеописанные команды, которые существовали и в версиях Solaris до версии Solaris 10. В версии Solaris 10 благодаря появлению концепции SMF стало возможным изменять не только режим работы системы, но и ее этап. Фактически это добавило возможность загружать систему с загрузкой всех установленных служб и без запущенных служб вообще (точнее, загружаются только init, svc.startd и svc.configd ). Первый вариант загрузки требует указать этап all, второй – этап none. В системах SPARC указание этапа работы при загрузке выполняется так:

ok boot -m milestone=all

или

ok boot -m milestone=none

соответственно.

Загрузка без запущенных служб может помочь при поиске ошибки в настройке одной или нескольких служб.

Ручная работа по включению и выключению системы

Как перезапустить зависшую систему

Если система безнадежно зависла, следует:

  1. Нажать Stop+A или L1+A (или другую комбинацию клавиш, если вы переопределили стандартные установки в /etc/default/kbd );
  2. Дождавшись приглашения ok, дать команду sync для синхронизации файловых систем (записи кэшированных данных на диски);
  3. Дождавшись сообщения syncing file systems... done, нажать Stop+A или L1+A;
  4. Еще раз дать команду reset в ответ на приглашение ok.

После перезагрузки нелишне проверить, в какой режим работы загрузилась система:

# who –r
run-level 3 May 9 05:29 3 0 S

Если ответ вас удовлетворил, можно начинать работу.

Включение и выключение оборудования

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

При включении компьютера следует соблюдать порядок действий:

  1. Вначале включить переиферийные устройства (принтеры, внешние диски и т.п.);
  2. Включить монитор;
  3. Включить системный блок (иногда включается одной кнопкой с монитором, это допустимо).
< Лекция 10 || Лекция 11: 12345 || Лекция 12 >
Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.

Александр Васильченко
Александр Васильченко
Россия
Денис Гайдуль
Денис Гайдуль
Россия, Подольск