Скрипты инициализации системы

Аватар пользователя debug

Прошу небольшой ликбез, вопрос такой - в система с инициализацией типа систем V нельзя изменить расположение загрузочных скриптов и переименовать их? Т..е. init когда начинает работу - он строго смотрит в те папочки, которые должны быть обязательно с жёстко заданными именами rc0.d, rc1.d и т.д.? Или этот можно где то настроить - чтобы инит "смотрел" в другие места? Улыбка Я спрашиваю потому - что мне интересно - насколько гибко можно изменить систему загрузки.
Я знаю, например (и сам пробовал) менять в слакваре - там всё достаточно просто.

Аватар пользователя ks

Re: скрипты инициализации системы

Цитата:
Т..е. init когда начинает работу - он строго смотрит

init смотрит в /etc/inittab
http://goth.glazov.net/5/inittab.html

Цитата:
в те папочки

в inittab эти папочки заданы косвенно, через скрипт /etc/rc.d/rc

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

, в котором уже определяются папочки /etc/rc?.d

Аватар пользователя debug

Re: скрипты инициализации системы

Поправьте меня - если ошибаюсь - но например в debin-подобных я не нашёл inittab! Как в таком случае? Когда он есть (как впрочем и в слакваре), всё понятно. А когда его нет?

Аватар пользователя debug

Re: скрипты инициализации системы

Я несколько ошибся в определении, debian (ubuntu) и кажется мандрива (но насчёт мандривы могу ошибаться) используют гибридную систему инициализации. Как там происходит загрузка - там есть только /etc/init.d и ссылки в rc?.d Каким образом там init начинает инициализацию?

Аватар пользователя debug

Re: скрипты инициализации системы

Вот какой вопрос ещё меня мучал Улыбка - получается - что любые ссылки (на скрипты или программы) или программы, находящиеся в директориях rc?.d должны быть выполнены? Т.е. я могу в любую из этих директорий записать скрипт и при соотв. загрузке или хальте он будет выполнен? Т.е. нигде не записан перечень самих файлов - которые должны быть выполнены в этих директориях rc?.d? Я правильно понял? И поэтому называют данную систему инициализации "жёсткой"?

Аватар пользователя ks

Re: скрипты инициализации системы

Из unix-like систем inittab нет только в *BSD, которые происходит от системы форкнутой от предшевственницы SysV. В слаке тоже есть inittab, просто там имитируется стиль загрузки *BSD.

Цитата:
Т.е. я могу в любую из этих директорий записать скрипт и при соотв. загрузке или хальте он будет выполнен?

Порядок определяется именем файла, файлы (ссылки на файлы) в /etc/rc?.d называются по схеме:
S[0-9][0-9]bla-bla -- которые должны запустить процесс
K[0-9][0-9]bla-bla -- которые должны остановить процесс

Цитата:
в "нормальном" /etc/inittab при переходе на любой уровень запускается скрипт /etc/rc.d/rc с указанием уровня в качестве параметра; данный скрипт запускает скрипты /etc/rcуровень.d/K* (в алфавитном порядке) с параметром stop и скрипты /etc/rcуровень.d/S* с параметром start; в конце запускается /etc/rc.d/rc.local; по традиции скрипты являются символьными ссылками на скрипты в директории /etc/init.d/; вместо /etc/init.d/ может использоваться /etc/rc.d/init.d/; вместо /etc/rcуровень.d/ может использоваться /etc/rc.d/rcуровень.d; реальность несколько сложнее

http://io.com.ua/s2033

Цитата:
И поэтому называют данную систему инициализации "жёсткой"?

В этом мире все относительно Улыбка

Аватар пользователя debug

Re: скрипты инициализации системы

Спасибо большое, разобрался. На самом деле везде присутствует inittab кроме BSD и ещё одной системы - из-за которой я и спутался - Ubuntu - в ней сейчас startut-инициализация.

Аватар пользователя ks

Re: скрипты инициализации системы

Ubuntu -- пузи-Linux Улыбка

PS

Не знал, что в Убунте заменили init на upstart. Интересная идея

Аватар пользователя DRVTiny

Re: скрипты инициализации системы

Идея откровенно маразматическая. Вместо того, чтобы наконец стандартизовать схему загрузки, мы каждый год, как заправские передовики производственного цеха "Сизиф и ко" рожаем всё новые и новые. У нас вообще нет громадных классов программ: например, программ распознавания оптических образов и речи на языках, отличных от американского английского, электронных переводчиков и вообще практически ни одной нормальной user-oriented машинной системы AI не реализовано под Linux, у нас для большей части мультимедийных устройств вообще никаких драйверов нет, даже самых убогих и глючных не предусмотрено, но зато у нас есть: 200 текстовых редакторов, и у каждого своя "идеология" (хотя какая на <ПИ,..> может быть идеология у простейшего инструмента для редактирования текстов?!), а у некоторых ещё и встроенный язык программирования макросов есть, у нас имеется 1000 и 1 формат всеми горячо любимых текстовых конфигурационных файлов и лужёные тупые глотки, которые неизменно начинают орать "убейся апстену" всем, кто пытается хоть что-то стандартизовать или НЕ ДАЙ БОГ вообще избавиться от всего этого примитивного анахронизма, корнями врастающего в чьё-то безумное понтокидательство, в пользу баз данных, у нас всегда найдётся десяток "самых-самых" пакетных менеджеров и depedencies-resolver'ов, ни один из которых не решает даже элементарной задачи управления версиями софта, так, чтобы несколько версий одной программы могли уживаться в системе. И наконец мы придумали невиданное доселе количество способов и схем загрузки, пытаясь сократить время запуска самописанных скриптов на языке тормозного интерпретатора BASH!
Ну гениально просто, вы не находите?

Аватар пользователя ks

Re: скрипты инициализации системы

Цитата:
Идея откровенно маразматическая.

Не думаю.

Цитата:
У нас вообще нет громадных классов программ: например, программ распознавания оптических образов и речи на языках, отличных от американского английского,

Не все сразу. FineReader тоже не сразу под виндой появился

Цитата:
электронных переводчиков

http://translate.meta.ua/
http://perevod.uaportal.com/
http://online-perevod.dp.ua/
могу еще накопать, если интересно.

Цитата:
лужёные тупые глотки, которые неизменно начинают орать "убейся апстену" всем, кто пытается хоть что-то стандартизовать

Пусть кричат. Когда охрипнут -- перестанут. Улыбка

Цитата:
чтобы несколько версий одной программы могли уживаться в системе

А если подумать, то ПМ тут ни при чем -- на днях "ужил" tcl-8.4 и tcl-8.5. Сидят в разных пакетах -- друг-другу не мешают. Улыбка

Цитата:
И наконец мы придумали невиданное доселе количество способов и схем загрузки, пытаясь сократить время запуска самописанных скриптов на языке тормозного интерпретатора BASH!
Ну гениально просто, вы не находите?

И как сильно bash тормозит? Улыбка

Цитата:
Upstart -- это ориентированная на события замена init

http://www.ibm.com/developerworks/ru/library/l-boot-faster/index.html
IMHO, главная затея upstart-а не в том, чтобы ускорить загрузку.

Аватар пользователя debug

Re: скрипты инициализации системы

Цитата:
Идея откровенно маразматическая. Вместо того, чтобы наконец стандартизовать схему загрузки, мы каждый год, как заправские передовики производственного цеха "Сизиф и ко" рожаем всё новые и новые.

Это же OpenSource - о какой стандартизации вы вообще говорите? Кто-то придумал систему upsturt со своими преймуществами - что в этом плохого, как говорится - не хотите - не пользуйте Улыбка
И потом, системы загрузки и различную прикладную тематику пишут разные люди. Системщики пишут системы, прикладники - ПО для конечного пользователя.

Цитата:
у нас для большей части мультимедийных устройств вообще никаких драйверов нет, даже самых убогих и глючных не предусмотрено,

а при чём здесь системы загрузки? Драйвера должны писать по большей части производители железок. А идея простых текстовых протоколов (в том числе и скриптов загрузки) - это одна из идей UNIX, если отказаться от текстовых протоволов в пользу сложных двоичных форматов и т.п. - это уже не линух будет - протсо будет ещё один вендовз с ядром Торвальдса Улыбка
А поскольку везде в основе лежат простые текстовые файлы (будь то конфиги, xml или скрипты) - то соотв. и текстовые редакторы - самое главное оружие админов, поэтому их и много различных - что же в этом плохого.

RSS-материал