[devel] Инициализация системы

Anton Farygin =?iso-8859-1?q?rider_=CE=C1_altlinux=2Ecom?=
Чт Мар 6 18:56:26 MSK 2008



И меня втянули ;)

Mikhail Gusarov пишет:
> Twas brillig at 16:27:52 06.03.2008 UTC+03 when Dmitry M. Maslennikov did gyre and gimble:
> 
>  >> Вон, ядерщики уже на это натолкнулись - см. hotplug/udev ;)
>  DMM> Не согласен с этой аналогией. Во-первых hotplug все-таки умер,
> 
> Это я специально вставил меточку. Спасибо за то, что на неё попались ;)

Т.е. - ты хочешь сказать что initng тоже умрёт ? Вполне возможно ;)

> 
>  DMM> а udev нужен в основном, чтобы обслуживать события появления
>  DMM> нового оборудования (занял вотчину hotplug), которое сейчас очень
>  DMM> часто стало подключаться и отключаться прямо во время работы
>  DMM> компьютера.
> 
> А сделать из этого следующий логический вывод?
> 
>  DMM> При этом и SysV и InitNG так же позволяют во время работы
>  DMM> компьютера поднимать или останавливать сервисы, так что их миссия
>  DMM> не заканчивается загрузкой.
> 
> for i in `seq 1 1000`; do service httpd2 stop & service httpd2 start & done
> 
> оставит систему в непредсказуемом состоянии.

а зачем ?

> 
>  DMM> Они же позволяют переключить уровень запуска, что вообще-то говоря
>  DMM> крайне редкая на desktop'е операция(мы же про desktop говорим?).
> 
> Нет.
> 
>  DMM> Какие события еще нужны?  То есть, какие по Вашему задачи могут
>  DMM> решить более "навароченные" системы инициализации на desktop?
> 
> 1. Обслуживание служб по событиям от железа (появилась wifi-сеть -
> подняли чего на неё навешано).

Этим занимается специализированный сервис.

> 2. Обслуживание служб по событиям от юзера (см. per-user gpg-agent или X11 в MacOSX)

Этим тоже.. в нашем случае - KDE/Gnome.

> 3. Обслуживание служб по другим любым событиям

Здесь согласен - могут быть службы, которые есть необходимость поднимать 
по событиям. Но это работает и сейчас и не приводит к каким-то серьёзным 
проблемам (пример - Bluetooth, который поднимается в udev).

> 
>  DMM> Более того, система запуска сервисов должна в идеале иметь
>  DMM> приличный и простой графический интерфейс управления, ведь не
>  DMM> собираемся мы обучать простых веб разработчиков премудростям
>  DMM> скриптования инит системы, чтобы они запросто поднимали
>  DMM> apache/mysql/что-то там, когда они необходимы, а не все время,
>  DMM> ведь так?
> 
> Это совершенно другой вопрос.

Все вопросы как-то связаны друг с другом. Наличие интерфейса управления 
службами необходимо.


> 
>  DMM> В случае init-ng я запросто представляю обязательную системную
>  DMM> часть записанной в system.runlevel, а опциональную в
>  DMM> default.runlevel, при этом GUI показывает все что может быть
>  DMM> добавлено/убрано в default.runlevel с описанием из
>  DMM> LSB-коментариев, это просто удобно и понятно. А как быть в случае
>  DMM> того же upstart?
> 
> Взять и написать. В чём вопрос?
> 
>  DMM> По-моему, такие системы пригодны только для ручного скриптования и
>  DMM> именно инициализации базовых системных сервисов (в которую
>  DMM> пользователю лучше не вмешиваться, так сказать обязательная
>  DMM> часть).
> 
> Необязательно.
> 
>  DMM>А вот более простые системы вроде init-ng решают проблему
>  DMM>параллельной загрузки и зависимостей простым и понятным способом.
> 
> Они решают какую-то малоинтересную задачу. Взять и распараллелить -
> слишком скучно.

Главное что бы это было весьма эффективно. Время загрузки системы 
конечно (для меня лично) не имеет никакого значения. Но всё ещё есть 
пользователи, которые каждый день выключают и включают компьютер.

Но им бы я предложил настроить suspend на disk.

> 
>  DMM> Да и со стандартом LSB очень неплохо стыкуются, по крайней мере не
>  DMM> вижу проблемы конвертора LSB -> init-ng или плагином научить
>  DMM> initng напрямую брать заголовки LSB.
> 
> LSB - не бох (c) LOR

LSB рулит. Чем меньше стандартов, тем лучше. Пускай это будет один стандарт.

А если взглянуть на жизнь более реально, то брать надо за основу "самый 
распространённый вариант". Например - посмотреть какие чаще всего 
скрипты распространяются со сторонними пакетами. В данном контексте я не 
говорю про качество этих скриптов, тут основная задача - что б работало, 
а не что б красиво.




Подробная информация о списке рассылки Devel