id:5:initdefault:
Ключевое слово id
, расположенное в начале, идентифицирует данную строку, а число, следующее за ним (в данном случае 5), устанавливает постоянный уровень выполнения. Если вы измените это значение и перезагрузите компьютер, система будет работать на другом уровне. Уровни 0, 1 и 6 имеют специальное назначение. Уровень 0 соответствует завершению работы системы, уровень 1 — однопользовательскому режиму, а уровень 6 — перезагрузке системы. Уровни 2–5 задают нормальные режимы работы; назначение каждого из уровней может изменяться в зависимости от версии системы. В Caldera, Red Hat Mandrake SuSE7.3 и TurboLinux уровень 3 соответствует обычному текстовому режиму (система X Window не запускается), а уровень 5 поддерживает графический пользовательский интерфейс (система X Window запущена). В ранних версиях SuSE вместо уровней 3 и 5 для поддержки текстового режима и графического интерфейса используются уровни 2 и 3, а в Slackware для той же цели применяются уровни 3 и 4. По умолчанию в Debian на уровнях 2–5 набор серверов, запускаемых посредством сценариев SysV, существенно не отличается, но на уровнях выше третьего используется меньшее число инструментов с текстовым интерфейсом (детали настройки системы можно выяснить, просмотрев содержимое файла /etc/inittab
). В большинстве систем файл /etc/inittab
содержит подробные комментарии, которые описывают функциональные возможности каждого из уровней. Если вы используете версию системы, которая не обсуждается в данной книге, или если вам нужна дополнительная информация о работе системы на различных уровнях, вы можете получить требуемые сведения, просмотрев комментарии в этом файле.
Внимание
Не устанавливайте в качестве уровня по умолчанию уровень 0 или 6. Если вы поступите так, то сразу после загрузки работа системы будет завершена либо компьютер начнет перезагружаться. Для того чтобы изменить настройку, вам придется загрузить компьютер с другого диска.
Если вы хотите временно изменить уровень выполнения, сделайте это с помощью команды telinit
(в некоторых системах для этого приходится вызывать init). Синтаксис telinit
имеет следующий вид:
telinit [-t время_в_секундах ] [ уровень ]
При изменении уровня выполнения некоторые процессы могут быть завершены. Для завершения процесса Linux передает ему сигнал SIGTERM
либо SIGKILL
. Сигнал SIGTERM
обеспечивает более "мягкий" режим окончания работы; при этом программа получает возможность закрыть файлы и освободить другие ресурсы. SIGKILL
принудительно завершает выполнение программы, в результате файлы, используемые в процессе его работы, могут быть повреждены. При изменении уровня выполнения telinit
сначала пытается использовать SIGTERM
. Если процесс продолжает выполняться, то через пять секунд telinit
передает ему сигнал SIGKILL
. Опция -t
позволяет изменить этот интервал. В большинстве случаев значение, равное пяти секундам, вполне приемлемо.
Второй параметр, передаваемый telinit
, задает уровень выполнения. Для указания уровня используется один символ. Результаты, которые вы получите, задавая в качестве этого параметра число, очевидны. Кроме того, вы можете передать программе другие символы. Их назначение описано ниже.
• а
, b
или с
. Некоторые записи в файле /etc/inittab
идентифицируются с помощью символов a
, b
и с
. Эти символы имеют специальное назначение. Если вы передадите один из них telinit
, программа будет обрабатывать соответствующие ему записи /etc/inittab
; при этом уровень выполнения системы не изменится.
• Q
или q
. Если задать одно из этих значений как уровень выполнения, telinit
повторно считает содержимое файла /etc/inittab
и продолжит работу с учетом внесенных изменений.
• S
, или s
. Эта опция переводит систему в однопользовательский режим.
• U
, или u
. Данная опция вызывает перезагрузку процесса init
; при этом новое содержимое файла /etc/inittab
не считывается.
Зачем может понадобиться переходить на другой уровень выполнения? Изменяя уровень выполнения по умолчанию, вы можете изменять набор серверов, работающих в системе. В большинстве дистрибутивных пакетов самым важным считается сервер X Window. Одна из последних записей в файле /etc/inittab
управляет запуском этого сервера; в некоторых системах эта задача решается с помощью сценариев запуска SysV. Изменение уровня выполнения позволяет быстро перейти от одного набора сервера к другому, разрешить или запретить графический режим или временно отключить X Window.
Читать дальше