Оптимизация с целью ускорения загрузки.
речь идет про initng. В итоге он должен быть в виде пакета для ALT Linux.
Задача решена в смысле создания соответствуюущего пакета: http://git.etersoft.ru/people/rlz/packages/initng.git Сейчас производится создание утилит для работы с initng в рамках дистрибутива. Текущее положение дел по этому вопросы в ALT Linux Devel: http://lists.altlinux.org/pipermail/devel/2008-February/070385.html На текущий момент сформировалось три (на самом деле два) основных варианта замены SysVinit: 1) InitNG - http://www.initng.org/ 2) UpStart - http://upstart.ubuntu.com/ Это два основных соперника на замену. Тем не менее не совсем понятна разница между ними. Здесь она показана достаточно вразумительно: http://www.netsplit.com/category/upstart/ Тем не менее эта разница далека от тех проблем, которые нужно решать сейчас (в плане скорости загрузки). Поэтому Initng, в ряде случаев предпочтительней. С другой стороны не стоит забывать судьбу EVMS vs LVM. Если мы не расчитываем вести проект самостоятельно: http://www.linux.org.ru/view-message.jsp?msgid=2274622 3) LSBinit - http://www.linux-foundation.org/spec/booksets/LSB-Core-generic/LSB-Core-generic/tocsysinit.html На самом деле, это новый стандарт, а не реализация. Поддержка этих скриптов может рассматриваться в рамках любой системы инициализации. Особенности поддержки этого стандарта в Fedora частично показаны здесь: http://fedoraproject.org/wiki/FCNewInit При этом они выбрали UpStart... Подытоживая, хочу заметить. Что наша реализация уже подготовлена к работе может работать совместно с исходной пакетной базой. Думаю, что стоит вынести вопрос об init-скриптах на публичное обсуждение в ALT Linux Devel. Думаю это можно начать как только Дима сможет туда писать... Как сегодня ночью заметил ldv@ на эту тему: "Я думаю, вопрос был не так прост, чтобы затевать неподготовленное обсуждение." Может быть Дима напишет про это статью на FreeSource.info? Я могу и сам, но боюсь, что сейчас он лучше вовлечён в проблематику и технологии решения проблем. По текущей задаче хочу добавить, что всё равно требуется пилотное решение. Я правильно полагаю что мы пустим его в production после тестирования? Боюсь это серьёзный шаг и требует серьёзного решения, поскольку проблемы, с случае плохого тестирования, тоже будут серъёными. Трудно сказать как могут повести себя те, или внутренние скриптовые компоненты, без полного тестирования, как бы мы не расчитывали...
Вероятно стоит заменить здесь: http://www.initng.org/wiki/Documents_Distributions Unknown на Work in progress и добиться Supported.
В общем оптимизация к привнесению initng не сводится. Само по себе оно к взрывообразному ускорению загрузки не приводит к лавинообразному уменьшению скорости загрузки. Попытки профилирования показали, как и ожидалось, что больше всего времени уходит на большой скрипт rc.sysinit. Чтобы профилировать его необходимо было его разбить на части. Это полезно также, чтобы запускать части параллельно в initng или использовать upstart. В процессе этого в скрипте были найдены явно устаревшие части, которые давно уже не используются и прочее. Полученные части удалось запустить как последовательно, так и разобравшись с зависимостями параллельно, с помощью initng. Теперь интересно произвести замеры и оптимизацию полученных скриптов.
Created attachment 2792 [details] Проблема с NetworkManager и systemd на Сизифе Мир, под давлением Red Hat, переехал (мы ещё в процессе) на systemd. Для десктопных решений на базе на Сизифа это имеет свои проблемы. В частности, с мая 2012 года NetworkManager имеет проблему запуска в чистом systemd (ошибка "Not authorized", в xfce - (32) Not authorized to control networking.) Предыдущее описание на этот счёт представлено на странице: http://www.altlinux.org/Changes#.D0.9C.D0.B0.D0.B9 На свежеустановленной системе на базе сизифа мне удалось завести NetworkManager установкой пакета systemd-sysvinit. Без этого даже команда systemctl не отрабатывала - выпадал с ошибкой "D-Bus no connection to service manager". Видимо, чего-то не хватает. Требуется более детальное изучение архитектуры systemd для исправления всех проблем на текущем сизифе.
Откладываем задачи, к которым не обращались более 100 дней.
Закрываю как неактуальные.
Закрываю.