Какой рейтинг вас больше интересует?
|
Про инит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 comments
|
Категория «Книги»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.