[Devel] init-ng

Dmitrij Maslennikov master armory.ru
17 15:53:47 MSK 2008


>
> Так init-ng всё-таки самая зрелая система?


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

> Но отвалилась сеть у куча других сервисов.
> Ну так это просто потому, что сеть (возможно только lo) должна была
> подняться
> да.


У меня сеть настроена более широко, чем только lo интерфейс. Но это не
проблема. Вообще с сервисами проблем быть не должно. Мне проблемы видятся
исключительно в уже имеющихся обращениях к скриптам /etc/init.d/<service>
напрямую без врапера из различных мест. Больше всего таких обращений в rpm
и, возможно, у некоторых администраторов в личных скриптах. Лично я не вижу
необходимости скриптовать рестарт сервисов на десктопе, но на сервере это
вполне может практиковаться.
Может возможно более быстрое внедрение init-ng только на десктопе, а
на сервере более отложенный вариант, когда уже приживуться необходимые
враперы и возможные неожиданности сойдут к минимому.


> Теперь мне видится только одна проблема: некоторые rpm-пакеты (и
> программы)
> > в постинстал рестартуют сервисы. Если они это делают с помощью
> > /etc/init.d/<service name> restart
> Вообще-то это делается с помощью condrestart (перезапуск только если
> сервис
> запущен).


Это не принципиально, можно и condrestart :)

Конечно это не очень хорошая новость, но в принципе будет достаточно
> пересборки необходимых пакетов, изменив макросы post_service/preun_service
> -
> которые и вызываются при обновлении пакетов. Сейчас они
> выполняют /etc/init.d/name, но поменять вполне можно.
> Для будущего нужно спроектировать и сделать враппер, который в зависимости
> от
> текущей системы загрузки будет рестартовать по-свойски.


Вот о враппере я и думал. При этом он уже существует в виде скрипта
/sbin/service, но, к сожалению очень редко используется. Это самая большая
сложность в переезде. Прелесть gentoo решения в том, что такое прямое
взаимодействие в нем тоже работает. Может быть мне удасться сделать такое и
для init-ng.

А это возможно? Есть какие-то примеры?


Вообще-то я думаю это вполне реально. Если бы я писал запуск скриптов
сам, то непременно бы сделал обе системы запуска совместимыми. Есть
надежда, что и init-ng можно будет заставить так работать. Пока
принципиальных трудностей не вижу.

Еще одна задача bootsplash для init-ng. Не знаю есть ли наработки на эту
тему. Пока некода было посмотреть.

В первую очередь думаю, что стоит всю инициализацию системы сделать
максимально похожей на ее текущее состояние, чтобы работали все глобальные
настройки системы (сеть, системные часы, еще
что-нибудь). Это будет хорошо для совместимости. Думаю достичь этого
заставив init-ng запускать те же скрипты что и теперь (только при крайней
необходимости подвергну их правкам), только параллельно. Только потом
попробовать создать полную совместимость управления сервисами (старт -
рестарт) и слой совместимости с не портированными еще скриптами.

Есть сложности с тем, чтобы заставить init-ng скрипты быть способными
запускаться в случае использования традиционного init. Опять-таки в gentoo
это возможно, и при собственном решении это тоже не проблема. В связи с этим
так и подмывает написать собственную реализацию параллельного запуска (а
только это нам и нужно от init-ng), так как проблемы совместимости в этом
случае решались бы очень просто. Может подумать о
выделении пары дней для создания простого прототипа такого запуска (для
демонстрации возможностей)?
-----------   -----------
Вложение в формате HTML было удалено...
URL: http://lists.etersoft.ru/pipermail/devel/attachments/20080117/3bf1a2d3/attachment.html 


devel