[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: init-скрипты



> Но хрено-оово. Потому как две циферки назначаются мейнейнером пакета и
> нигде кроме как в его postinst скрипте не написаны.
> 
> Мало того, что из 50 скриптов у меня в /etc/rc2.d 30 имеют циферку 20. И
> не говорите что там не может быть пробем с порядком.
> 
> Традиционный способ временного отключения сервиса - стереть
> соответствующий симлинк из rc<основной-ранлевел>.d. 
> 
> Этот способ хорош тем, что при этом сохраняется возможность ручного
> подъема сервиса посредством /etc/init.d/что-надо start.
> 
> Но при этом информация о циферке будет потеряна. И update-rc.d ее сама
> не восстановит. Вот что обидно. 
> 
> В принципе, можно было бы эти два подхода совместить, потребовав эти
> зависимости учитывать не при загрузке системы, а при прописывании ссылки
> с циферками. Чтобы update-rc.d эту циферку бы назначала исходя из
> зависимостей. 
или сделать систему аналогичную РХ:
там каждый скрипт, помещаемый в /etc/init.d имеет в себе спец-коментарий
(кстати в Дебиане многие визарды в других местах аналогично поступают),
так вот в этом коментарии есть инфа в какие ран-левелы в какой порядок
ставить скрипт по умолчанию...

когда-то я слез с РХ и меня немного напрягало отсутсвие в Дебиане
подобного механизма, и я даже хотел заняться модификацией update-rc.d,
однако немного воткнувшись в идеологию Дебиана - понял, что в общем-то и
update-rc.d в нем - лишний механизм, и нужен он только если репозитории
по какой-то причине недоступны.
а так серверы очень хорошо выключаются при помощи
apt-get remove
и включаются при помощи
apt-get install


PS: кстати пользование update-rc.d содержит в себе еще одну неприятность
(кроме потери номеров в ран-левеле): это потенциальный конфликт с
обновлениями (apt-get)

то есть например ставим bind
apt-get install bind
а он нам допустим пока не нужен (не настроили его, а читаем доки по
нему, и эксперементируем с ним), естественно мы его отключаем:

update-rc.d -f bind remove

все вроде хорошо, но допустим мы о нем позабыли, или отложили его на
потом (в отключенном состоянии), и решили сделать dist-upgrade, а там
bind обновился. После обновления apt-get dist-upgrade получим
_установленный_в_автозагрузку_ и _запущенный_ bind



Reply to: