Система Linux унаследовала от UNIX-подобных операционных систем идею уровней запуска или выполнения, определяющих сервисы, постоянно выполняющиеся в системе. В табл. 18.1 приведены стандартные определения для ОС Linux.

Таблица 18.1

Уровень запускаОписание
0Halt. Применяется как логическое состояние, к которому следует перейти при остановке системы
1Однопользовательский режим. Каталоги, отличающиеся от / (корневой), могут не монтироваться, и сетевой поддержки не будет. Обычно применяется для обслуживания системы
2Многопользовательский режим, но без сетевой поддержки
3Обычный многопользовательский режим с сетевой поддержкой, использующий экран регистрации в текстовом режиме
4Зарезервирован
5Обычный многопользовательский режим с сетевой поддержкой, использующий экран регистрации в графическом режиме
6Псевдоуровень, применяемый для перезагрузки

Стандарт LSB приводит эти уровни, но не требует их обязательного использования, хотя они и очень распространены.

Сопровождает уровни запуска набор сценариев инициализации, применяемых для запуска, останова и повторного запуска сервисов. В прошлом они хранились в разных местах в каталоге /etc, часто в /etc/init.d или в /etc/rc.d/init.d. Подобное разнообразие часто было причиной путаницы, поскольку пользователи, менявшие дистрибутивы, не могли найти сценарии инициализации в привычных местах, и установка программ завершалась аварийно при попытке выполнить сценарий инициализации из неверного каталога.

Стандарт LSB 3.1 определяет каталог /etc/init.d, как место хранения сценариев инициализации, но при этом разрешает этому каталогу быть ссылкой на другое место в системе.

У каждого сценария в каталоге /etc/init.d есть имя, связанное с предоставляемым им сервисом. Поскольку все сервисы ОС Linux должны совместно использовать одно пространство имен, важно, чтобы эти имена были уникальны. Например, жизнь будет несладкой, если сервисы MySQL и PostgreSQL решат назвать свои сценарии "database". Для устранения такого конфликта существует еще один набор стандартов. Это стандарт Assigned Names And Numbers Authority (LANANА, орган назначения имен и номеров в Linux), который можно найти на Web-сайте http://www.lanana.org/. К счастью, вам понадобится знать очень немногое об этом стандарте, за исключением того, что в нем хранится список зарегистрированных имен сценариев и пакетов, облегчающий жизнь пользователям систем Linux.

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

Таблица 18.2

ПараметрЗначение
startЗапускает (или перезапускает) сервис
stopОстанавливает сервис
restartПерезапускает сервис; обычно реализован как простой останов сервиса, за которым следует запуск этого сервиса
reloadПереустанавливает сервис, повторно загружая параметры без реальной остановки сервиса. Этот вариант поддерживают не все сервисы, поэтому данный параметр может быть недоступен в некоторых сценариях, а если доступен, то не имеет эффекта
force-reloadПытается вызвать переустановку, если сервис ее поддерживает, если нет — выполняет перезапуск сервиса
statusВыводит текстовое сообщение о состоянии сервиса и возвращает код состояния, который может применяться для определения состояния сервиса

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

<p>Стандарт устройства файловой системы</p>
Перейти на страницу:

Похожие книги