Сегодня 10 января, пятница ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Журнал Витуса.
Журнал Витуса.
Голосов: 2
Адрес блога: http://vitus-wagner.livejournal.com/
Добавлен: 2008-02-19 12:48:41 блограйдером Lurk
 

Про инит

2014-11-20 18:02:39 (читать в оригинале)

Тут в процессе дискуссии вылезла странная мысль.

Что в общем-то плох не init как таковой, а соглашения по написанию скриптов для него.
Ну и не хватает нескольких инструментов для того, чтобы реализовать некоторую полезную функциональность. Например, иниттабовский respawn в соврешменных условиях почти бессмысленен.

В связи с этим возникла мысль, придумать в качестве замены нынешнему sysvinit

1. Протокол взаимодействия init-скриптов с окрущением (в которое кроме собственно запускалки всех скриптов требуемых по данному событию входит еще и утилита update-rc.d как минимум). Именно протокол. Сам скрипт может быть чем угодно, начиная от makefile, и кончая вообще бинарником. Внутрь вообще никто глядеть не должен, никакхи manchine-readable comments. Поэтому рассказывать о том, от чего скрипт зависит он должен при ВЫЗОВе с параметром depends, а про то, на каких ранлевелах он предполагает запускать и стартовать свой сервис - при вызове с параметром runlevels

Протокол, естественно, делается таким, чтобы существующие шелловские init-скрипты требовали минимальной доработки. В идеале - только замены lsb-style комментариев на то, что будет реализовывать соответсвующую часть протокола.

2. Специальный инструмент для запуска демонов, скриптами для которого должны быть 80% инит-скриптов. В качестве основы для такой запускалки берется start-stop-daemon. Слегка дорабатывается, чтобы мог работать как интерпретатор скриптов, состоящих из тех же команд, которые он сейчас из командной строки понимает. Получается такая чисто декларативная описаловка.
Туда же можно прикрутить функциональность watchdog в качестве одного из сценариев работы.


3. Во всех прочих случаях по возможности использовать не специальные, а какие-нибудь general purpose инструменты. Например, make(1) вместо startpar(8).

4. Видимо, все же на уровне самого init-а - обеспечить чтобы выдача шла не на консоль, или не только на консоль. Как меня это всю жизнь раздражало - то, что в общем не слишком интересные сообщения от ядра сохраняются в boot.log а гораздо более важные сообщения от стартующих демонов теряются безвозвратно. Возможно, на консоль если нет специального параметра переданного при загрузки ядра вообще ничего писать не надо - все равно в наше время все там bootsplash норовят повесить. А у многих не i386 архитектур консоль вообще на какой-нибудь нераспаянный jtag заведена. а на экране до старта X-сервера вообще ничего хорошего.

This entry was originally posted at http://vitus-wagner.dreamwidth.org/1028969.html. Please comment there using OpenID. Now there are comment count unavailable comments

Тэги: ung, компьютерное, мысли, непричесанные

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.