Смекни!
smekni.com

Администрирование локальных сетей (стр. 18 из 39)

boot [device_path] [isl]

запущеная без аргументов она приводит к загрузке системы из устройства адрес которого содержится в PRIMARY BOOT PATH. Если указан аргумент isl то система загрузит вторичный загрузчик ISL в интерактивный режим. Основные случаи когда необходима загрузка не с основного устройства перечислены ниже:

· На основном диске нет загрузочного ядра

· LIF область диска повреждена

· Корневая файловая система ОЧЕНЬ сильно запорчена

Примечание: В том случае если SECURE=ON (безопасный режим) нет никакой возможности попасть в boot ROM меню за исключением как физически отключить устройства первичной и вторичной загрузки.

Если был выбран интерактивный режим загрузки ISL то последний после загрузки, не станет автоматически загружать ядро системы а перейдет в диалоговый режим. В этом режиме есть ряд команд влияющих на загрузку системы. Например по команде 700SUPPORT возможна загрузка с CDROM специальной версии ядра системы предназначеной для восстановления системы в том случае если ядро основной системы не загружается. Список утилит которые доступны для запуска ISL можно увидеть по команде LS. Основная утилита – HPUX, предназначенная для загрузки ядра системы. Для того чтоб посмоьреть содержимое директории /stand на устройстве загрузки по умолчаниюнужно воспользоваться командой:

ISL> HPUX ll disk (;0) /stand/

При загрузке ядра возможно указание файла ядра отличного от того что используется по умолчанию (/stand/vmunix) для загрузки а также запустить ядро с определенными параметрами. Например команда:

ISL> hpux /stand/vmunix.prev

загружает ядро с именем /stand/vmunix.prev (эту команду используют в тех случаях когда вновь собранное ядро не хочет по какимто причинам запускаться и нужно загрузить старое ядро).

А команда:

ISL> hpux –is /stand/vmunix

загружает ядро с именем /stand/vmunix в однопользовательский режим. Ситуации прикоторых необходима загрузка в однопользовательский режим:

· забыт пароль администратора и его нужно изменить

· поврежден файл /etc/inittab

· какой то из загрузочных скриптов по каким то причинам зависает

Сразу же после получения управления ядро системы выполняет две задачи:

· Находит и монтирует корневую файловую систему

· Запускает процесс init и если ядру не было указано дополнительных аргументов относительно run-level то init переводит систему на default run-level (обычно это многопорльзовательский режим работы)

8. Run-levels.

После успешного монтирования корневой файловой системы ядро запускает процесс init. Отличительной особенностью этого процесса является то что его создает непосредственно ядро,он имеет PID=1 и не имеет родительского процесса, в отличии от остальных процессов получающихся в следствие системного вызова fork(). Конфигурациооный файл программы init называется /etc/inittab. Приведем его формат:

Id:run-levels:action:process

где

id От одно до четырехбуквенный индекс который идентифицирует

строку файла inittab.

run-level определяет run-level.в одной строке может быть несколько run-levels.

run-levels определяются как цифры от 0 до 6. Когда boot init пытается измнить run-level, все процессы которые не имеют run-level поля равному изменяемому run-level получают предупреждающий сигнал (SIGTERM) и те которые не завершили работу по истечению 20-ти секундного интервала получат сигнал (SIGKILL).Если run level не определен, то это подразумевает все run levels, с 0 до 6.

Это поле также может принимать три других значения “a”, “b” и “c”.

Строки имеющие эти значения в поле run-level выполняются только

когда пользовательский init процесс запрашивает их. (независимо от

текущего run level системы).

Они в корне отличается от run levels в которые boot init никогда не

входит a, b, or c. Также выполнение процессов из этих run-levels

никогда не меняет текущий run level системы.

Более того, процессы запущенные с rul-level a, b, или c не терминируются когда boot init изменяет run-level системы. Процессы терминируются лишь когда соответствующая строка inittab помечена как off в поле action или полностью удалена из inittab или система загружается в однопользовательский режим.

action определяет действия этой строки файла, которые могут принимать следующие значения:

boot выполнять процесс только во время чтения inittab исключительно при загрузке системы. Boot init стартует процесс не дожидаясь его окончания и по его завершении не рестартует его заново.

bootwait выполнять процесс только во время чтения inittab исключительно при загрузке системы. Boot init стартует процесс дожидается его окончания и по его завершении не рестартует его заново.

initdefault процесс выполняется только во время начальной

загрузки. Boot init использует эту строку если она существует для того чтобы определить в какой run-level входить в самом начале. Если в этой строке указано несколько run-levels то запускается с наибольшим номером. Если run-level не указан то стартует по умолчанию run-level c номером 6. Если строка initdefaul не найдена в /etc/inittab то при старте системы будет запрошено на какой run-level запускать систему.

off если процесс асоцированный с этой строкой в данный момент запущен то послать ему предупреждающий сигнал (SIGTERM) и подождать 20 секунд его завершения, после чего принудительно завершить его сигналом SIGKILL. Если процесс не запущен – игнорировать эту строку.

once Когда boot init стартует run level который совпадает с указанным в этой строке он не дожидается его окончания и после окончания не запускает его вновь. Если boot init запускает новый run level но процесс все еще в запущеном состоянии от предыдущего run-level то процесс не перестартовывается.

ondemand Эта инструкция есть синоним инструкции respawn за исключением того что она используется только с “a”, “b”, или “c” значениями run-level.

powerfail Запустить процесс асоциированный с этой строкой только в том случае если boot init получит сигнал power-fail signal (SIGPWR).

powerwait Запустить процесс асоциированный с этой строкой

только в случае если boot init получит power-fail signal (SIGPWR) и ждать пока процесс завершит работу перед запуском любых других процессов из inittab.

respawn Если процесс не запущен, то запустить его не дожидаясь окончания (прподолжив сканирование inittab). После завершения процесса запустить его заново. Если процесс запущен – то ничего не делать продолжив сканирование inittab.

sysinit процессы содержащиеся в строках этого типа будут запускаться перед тем как boot init попытается получить доступ к системной консоли. Это подразумевает что процессы будут запускаться только для инициализации устройств на которых boot init может получать run level информацию. Boot init ожидает завершение процессов запущенных с этим параметром.

wait Когда boot init запускает run-level с этим параметром, он ждет завершения процесса. Любые сканирования файла inittab пока boot init находится на томже run level являються причиной игнорирования этой строки в файле inittab.

process это шелл скрипт который запускается из шела созданного системным вызовом fork() как "sh -c 'exec command'.

Запуск init может сопровождаться следующими аргументами:

/sbin/init [0|1|2|3|4|5|6|S|s|Q|q|a|b|c]

агрументы означают следующее:

0-6 перевод системы на уровень от 0 до 6

a|b|c выполнение действий из файла из строк inittab eкоторые помечены как

специальный run-level a, b, или c без изменения значения текущего run-level.

Q|q реинициализация файла inittab без изменения значения текущего run-level

S|s перевод системы в однопользовательский режим, при этом логическая

системная консоль /dev/syscon изменяется на тот терминал с которого была

запущена команда.

Остановка системы

Для остановки системы Вы должны иметь права администратора (пользователь с UID=0). Различают два вида остановки системы, первый это перевод системы в однопользовательский режим, при котором все пользовательские и системные процессы работающие в многопользовательском режиме завершаются, и доступ к машине остается лишь через логическую системную консоль (тот терминал с которого была запущена команда). Такой режим часто бывает необходим во время бэкапа или восстановления данных, при установке нового оборудования или програмного обеспечения. После этого для возврата назад в многопользовательский режим нужно воспользоваться командой init. Второй вид остановки системы – это полная остановка системы с последующим выключением питания. Остановка системы может быть произведена как с применением команд hpux, так и с использованием SAM. При использовании SAM в разделе Routine Tasks выбрать пункт System shutdown а затем тип шатдауна:

· Halt system - полная остановка системы

· Reboot - перезагрузка системы

· Go to single user state - перевод системы в однопользовательский режим

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

· cd /

· shutdown –h now - немедленная остановка системы

· shutdown –r now - немедленная перезагрузка системы

· shutdown - немедленный перевод системы в

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

· shutdown –h 300 - остановка системы через пять минут.

При этом раз в всем залогиненым пользователям

будет посылаться уведомление о предстоящей

остановке системы.

Команда shutdown переключает логическую системную консоль /dev/syscon изменяется на тот терминал с которого была запущена команда. shutdown использует программу /usr/sbin/wall для посылки сообщения о остановке или перезагрузки системы на все терминалы на которых есть асктивные пользователи. По умолчанию лишь администратор системы обладает правами на остановку системы, однако существует файл /etc/shutdown.allow который позволяет выполнять остановку системы (но не перевод в однопользовательский режим) пользователям не имеющих администраторских прав. В этом файле указывается имя пользователя и имя системы (для случая кластеров) которую пользователь может остановить. Симвод # исполдьзуется для комментариев, символ + обозначает любое имя. Например: