>Понадобилось тут освоить линукс быстро, притом, что работаю с FreeBSD. Раздобыл SuSe
>самый свежий и начал ковырять. Вопрос:
>
>Какова идея использования run-levels? Я правильно понимаю, что в примитивнейшем приближении это
>разные autoexec.bat - каждый для своих рабочих задач? Ведь очень многие
>скрипты для разных r-l просто дублируются.
>
>Иначе не понимаю почему r-l 5 отличается от r-l 3 только xdm.
>Какие тут еще могут преследоваться цели?
простые - удобство
BSD-like системы: два уровня - single и multiuser+net
SYSV-like системы: несколько уровней, обычно не меньше трех:
- single (1)
- multiuser (2)
- multiuser+net (3)
- 4-5 special
- 6 reboot or single
в любом случае для каждой а-ля SYSV подобной системы, следует читать
man init и man inittab (обратить внимание на default runlevel)
Суть проста, обычно организация всех SYSV-like систем такова, есть
директория /etc/init.d - в ней обычно размещают ВСЕ скрипты которые
необходимо запускать на том или ином уровне - уровням соответствуют
директории /etc/rcX.d (где X - уровни X=0,...,5(6 или 7), классически,
обычно последняя существующая директория /etc/rc3.d как пример Solaris),
в этих директориях линки с именами SXYname и KLMname, линки на старт-стоповые скрипты что в /etc/init.d как говорилось раньше.
SXYname - стартовый скрипт и отрабатывает при загрузке, XY - цифры означающие приоритет выполнения такого скрипта, ну а KLMname - стоповый
скрипт (линк на те же скрипты из /etc/init.d) и если для стартого скрипта
буква S означает Start, для стопового K - Kill, очень разумная логика,
ну а LM - цифры приоритета.
В файле /etc/inittab обычно указывается номер дефолтного уровня загрузки,
обычно 3'ий (multiuser + net), после загрузки, если администратору
нужно произвести те или иные изменения и проверить, достаточно
использовать команду init номер_уровня. Очень удобно и никаких
перезагрузок, нужно опустить уровень: init 2, нужно поднять init 3