Чтение онлайн

на главную - закладки

Жанры

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Расположение сценариев запуска и соглашения по их именованию

Несмотря на то что основные принципы использования сценариев запуска SysV соблюдаются во всех системах, особенности такого использования могут различаться в зависимости от конкретного дистрибутивного пакета. В разных системах сценарии запуска размещаются в различных каталогах, имена сценариев могут различаться, но эти различия, как правило, не существенны. В табл. 4.1 описаны каталоги, используемые разными системами при работе со сценариями запуска SysV. Обратите внимание на то, что в табл. 4.1 указано размещение реальных сценариев, ссылок на эти сценарии, соответствующих определенным уровням выполнения, а также расположение локальных сценариев запуска (подробно локальные сценарии будут рассматриваться далее в данной главе). В именах ссылок на сценарии символом

?
обозначается число, соответствующее уровню выполнения (от 0 до 6).

Таблица 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
. Подобные различия имеют место для сценариев, запускающих конкретные серверы. В данном случае важен тот факт, что серверы, которые должны присутствовать в системе, запускаются в определенном порядке. Например, многие сетевые инструменты могут быть запущены лишь тогда, когда программы поддержки базовых сетевых средств уже начали работу. Менять порядок запуска и завершения работы служб можно лишь в случае крайней необходимости. Если вы решитесь сделать это, вы должны ясно представлять себе функции, выполняемые каждой из служб, и последствия, которые повлечет за собой изменение порядка вызова сценариев.

Говоря о различных дистрибутивных пакетах, следует отметить одну особенность системы SuSE. В этой системе для управления процессом запуска сценариев SysV используется файл

/etc/rc.config
. Разделы этого файла посвящены основным серверам, которые запускаются средствами SysV. Если сервер не указан в этом файле (о том, что сервер должен быть запущен, сообщает строка
START_ИМЯ_СЕРВЕРА="yes"
), он не будет выполняться в системе, даже если соответствующая ссылка начинается с символа "
S
". В системе Caldera для некоторых серверов используется подобная схема запуска, а запуском остальных серверов управляют файлы в каталоге
/etc/sysconfig/daemons
. Имя такого файла соответствует имени сервера. Строка
ONBOOT
в управляющем файле определяет, должен ли сервер выполняться в системе, однако многие из сценариев запуска Caldera не поддерживают данную опцию.

Управление сценариями запуска вручную

Если вам необходимо разрешить или запретить запуск сервера с помощью сценариев SysV, вы можете сделать это, изменяя сценарии запуска или ссылки на них. Проще всего запретить запуск сервера, удалив соответствующий сценарий из каталога сценариев SysV. Этим вы добьетесь того, что сервер не будет присутствовать ни на одном из уровней выполнения системы, но такое решение нельзя назвать элегантным. Кроме того, если вам потребуется не запретить, а разрешить выполнение сервера, вам все равно придется искать способы сделать это.

Более приемлемое решение данной задачи — переименовать ссылку на сценарий запуска в каталоге, соответствующем требуемому уровню выполнения. Например, для того, чтобы запретить выполнение сервера, надо переименовать ссылку, заменив символ "

S
" в начале ее имени на символ "
K
". Чтобы разрешить работу сервера, надо сделать обратную замену. Сложности, возникающие при этом, связаны с тем, что последовательность запуска серверов может отличаться от последовательности их завершения. Для того чтобы решить эту проблему, надо найти ссылки на этот сценарий в каталогах, соответствующих различным уровням запуска. Если хотя бы на одном уровне выполняется нужное вам действие, вы узнаете требуемый номер. Например, в результате выполнения приведенной ниже команды отображаются все ссылки на сценарий запуска системы Mandrake, соответствующий почтовому серверу Postfix.

$ find /etc/rc.d -name "*postfix"

/etc/rc.d/rc0.d/K30postfix

/etc/rc.d/rc1.d/K30postfix

/etc/rc.d/rc2.d/S80postfix

/etc/rc.d/rc3.d/S80postfix

/etc/rc.d/rc4.d/S80postfix

/etc/rc.d/rc5.d/S80postfix

/etc/rc.d/rc6.d/K30postfix

/etc/rc.d/init.d/postfix

Полученные результаты позволяют выяснить, что Postfix запускается на уровнях выполнения 2-5 и порядок запуска этого сервера определяется номером 80. Аналогично, работа сервера завершается на уровнях 0, 1 и 6, и порядок завершения определяется номером 30. Если вы хотите запретить выполнение Postfix на уровне 3, вам надо переименовать ссылку

S80postfix
в каталоге, соответствующем этому уровню, и назначить ей имя
K30postfix
.

Поделиться:
Популярные книги

Я снова не князь! Книга XVII

Дрейк Сириус
17. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я снова не князь! Книга XVII

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Я уже царь. Книга XXIX

Дрейк Сириус
29. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я уже царь. Книга XXIX

Офицер

Земляной Андрей Борисович
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Офицер

Древесный маг Орловского княжества 4

Павлов Игорь Васильевич
4. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 4

Развод в 45. От любви до ненависти

Гофман Крис
6. Развод
Любовные романы:
остросюжетные любовные романы
5.40
рейтинг книги
Развод в 45. От любви до ненависти

Кодекс Охотника. Книга VII

Винокуров Юрий
7. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.75
рейтинг книги
Кодекс Охотника. Книга VII

Третье правило диверсанта

Бычков Михаил Владимирович
Фантастика:
постапокалипсис
5.67
рейтинг книги
Третье правило диверсанта

Эпоха Опустошителя. Том V

Павлов Вел
5. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том V

Бастард Императора. Том 8

Орлов Андрей Юрьевич
8. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 8

Я до сих пор не царь. Книга XXVII

Дрейк Сириус
27. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор не царь. Книга XXVII

Последняя

Гусейнова Ольга Вадимовна
1. Последняя
Фантастика:
фэнтези
5.00
рейтинг книги
Последняя

Эволюционер из трущоб. Том 7

Панарин Антон
7. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 7

Я все еще граф. Книга IX

Дрейк Сириус
9. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я все еще граф. Книга IX