Таблица 4.1. Сценарии запуска для основных дистрибутивных пакетов Linux
Система |
Сценарий запуска |
Каталог для размещения сценариев SysV |
Каталог для размещения ссылок на сценарии SysV |
Локальный сценарий запуска |
Caldera OpenLinux Server 3.1 |
/etc/rc.d/rc.boot |
/etc/rc.d/init.d |
/etc/rc.d/rc?.d |
/ etc/rc.d/rc.local |
Debian GNU/Linux 2.2 |
/etc/init.d/rcS |
/etc/init.d |
/etc/rc?.d |
Файлы в каталоге /etc/rc.boot |
Linux Mandrake 8.1 |
/etc/rc.d/rc.sysinit |
/etc/rc.d/init.d |
/etc/rc.d/rc?.d |
/etc/rc.d/rc.local |
Red Hat Linux 7.2 |
/etc/rc.d/rc.sysinit |
/etc/rc.d/init.d |
/etc/rc.d/rc?.d |
/etc/rc.d/rc.local |
Slackware Linux 8.0 |
/etc/rc.d/rc.S |
/etc/rc.d |
He используется |
Различные файлы в каталоге /etc/rc.d |
SuSE Linux 7.1 |
/etc/init.d/boot |
/etc/rc.d |
/etc/rc.d/rc?.d |
/etc/rc.d/boot.local |
TurboLinux 7.0 |
/etc/rc.d/rc.sysinit |
/etc/rc.d/init.d |
/etc/rc.d/rc?.d |
/etc/rc.d/rc.local |
На заметку
Уровень выполнения — это число от 0 до 6, которому соответствует конкретный набор действующих служб. Уровни выполнения будут более подробно описаны в одном из последующих разделов, сейчас же вам достаточно знать, что при загрузке компьютер переходит на некоторый уровень выполнения, на котором выполняется определенный набор сценариев запуска. При необходимости вы можете изменить уровень выполнения после загрузки компьютера.
На заметку
Далее в этой главе будут упоминаться каталоги сценариев SysV и каталоги ссылок. Если вам потребуется изменить некоторые файлы, вы должны знать, к каким каталогам необходимо обращаться.
В некоторых системах сценарии запуска используются абсолютно одинаково. К этим системам относятся Red Hat, Mandrake, TurboLinux; несколько отличается от них Caldera. В них сценарии запуска расположены в каталоге /etc/rc.d/init.d
, а ссылки на сценарии — в каталоге /etc/rc.d/rc?.d
. В других системах, а особенно в Slackware, сценарии расположены по-иному. Вместо того чтобы размещать ссылки на сценарии в каталогах, имена которых соответствуют уровням выполнения, Slackware использует для каждого уровня выполнения один сценарий. Так, например, сценарий /etc/rc.d/rc.4
управляет запуском служб на уровне выполнения 4.
В большинстве дистрибутивных пакетов Linux (за исключением Slackware) действуют строгие правила по именованию содержимого каталога ссылок SysV. Имя файла ссылки имеет вид C##имя
, где С
обозначает символ " S
" или " K
", ##
— это число, состоящее из двух цифр, а имя обычно совпадает с именем соответствующего файла в каталоге сценариев. Например, сценариям network
и nfs
соответствуют файлы-ссылки S10network
и K20nfs
. Как нетрудно догадаться, принцип именования несет на себе определенную смысловую нагрузку. Часть имени ссылки, следующая за C##
, дает представление о действиях, выполняемых сценарием. Первый символ (" S
" или " K
") указывает, должен ли сценарий запускать программу (“ S
” — start) или завершать ее работу (" K
" — kill) при переходе на данный уровень выполнения. Например, имя S10network
означает, что сценарий network
должен быть вызван для запуска соответствующих служб (в данном случае основных программ, обеспечивающих сетевое взаимодействие), а имя говорит о том, что работа программ, запущенных с помощью сценария nfs
(сервера NFS) должна быть завершена. Число, следующее за символом " S
" или " K
", определяет порядок запуска сценариев. Например, программы поддержки сетевого взаимодействия, которым соответствует ссылка S10network
, будут запущены раньше, чем сервер SSH (ссылка S55sshd
). Аналогично определяется последовательность активизации ссылок, имена которых начинаются с символа " K
".
Имена ссылок, используемых для запуска и прекращения работы служб, могут различаться в зависимости от конкретного дистрибутивного пакета. Например, в системе Mandrake программы, поддерживающие основные сетевые средства, запускаются с помощью ссылки S10network
, а в Debian для той же цели используется ссылка S35networking
. Подобные различия имеют место для сценариев, запускающих конкретные серверы. В данном случае важен тот факт, что серверы, которые должны присутствовать в системе, запускаются в определенном порядке. Например, многие сетевые инструменты могут быть запущены лишь тогда, когда программы поддержки базовых сетевых средств уже начали работу. Менять порядок запуска и завершения работы служб можно лишь в случае крайней необходимости. Если вы решитесь сделать это, вы должны ясно представлять себе функции, выполняемые каждой из служб, и последствия, которые повлечет за собой изменение порядка вызова сценариев.
Читать дальше