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: