URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 54879
[ Назад ]

Исходное сообщение
"Вопрос по run-levels."

Отправлено Andymion , 26-Мрт-05 19:15 
Понадобилось тут освоить линукс быстро, притом, что работаю с FreeBSD. Раздобыл SuSe самый свежий и начал ковырять. Вопрос:

Какова идея использования run-levels? Я правильно понимаю, что в примитивнейшем приближении это разные autoexec.bat - каждый для своих рабочих задач? Ведь очень многие скрипты для разных r-l просто дублируются.

Иначе не понимаю почему r-l 5 отличается от r-l 3 только xdm. Какие тут еще могут преследоваться цели?


Содержание

Сообщения в этом обсуждении
"Вопрос по run-levels."
Отправлено Archont , 27-Мрт-05 09:48 
man init

RUNLEVELS
       A runlevel is a software configuration of the system which allows only a selected group of processes  to
       exist.   The processes spawned by init for each of these runlevels are defined in the /etc/inittab file.
       Init can be in one of eight runlevels: 0-6 and S or s.  The runlevel is changed by having  a  privileged
       user run telinit, which sends appropriate signals to init, telling it which runlevel to change to.

......


"Вопрос по run-levels."
Отправлено lavr , 27-Мрт-05 16:55 
>Понадобилось тут освоить линукс быстро, притом, что работаю с 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