Разработчики Linux-дистрибутива Gentoo опубликовали уведомление о стабилизации 8 мая новой системы инициализации, построенной на базе пакетов OpenRC и baselayout-2, идущих на смену классической службе запуска сервисов baselayout-1. Код OpenRC распространяется в рамках лицензии BSD, кроме Gentoo данная система может быть использована для организации загрузки FreeBSD и NetBSD.
Пользователям Gentoo рекомендуется как можно скорее провести обновление sys-apps/baselayout до версии 2.x и установить новый пакет sys-apps/openrc, после чего обязательно обновить конфигурацию при помощи dispatch-conf, etc-update или других подобных утилит, упомянутых в руководстве по миграции на OpenRC. В случае ненадлежащего выполнения данных шагов, возможно нарушение процесса нормальной загрузки системы.
Отличительные черты OpenRC:
- Не требует замены init-процесса. В процессе инициализации стандартный init-процесс передает управление специальному управляющему процессу OpenRC, написанному на языке Си;
- Уход от использования написанных на bash rc-скриптов. В OpenRC поддерживается только POSIX-совместимые конструкции shell;
- Учет зависимостей при запуске сервисов;
- Возможность ускорения стадии инициализации за счет параллельного запуска сервисов;
- Поддержка вложенных уровней запуска (runlevels);
- Поддержка проверки успешности запуска фоновых процессов и слежения за их работой, с возможностью перезапуска в случае краха;
- Реентерабельность сервисов, что важно в ситуациях, когда доступ к сети настраивается в фоне;
- Наглядное отображение процесса запуска скриптов инициализации;
- Сохранение в отдельный лог информации, выводимой на экран, а также разнообразных отладочных данных;
- Поддержка архитектур i386, amd64, ppc и sparc64;
- Наличие API для вызова функций вывода на экран и управления сервисами из shell-скриптов и программ на языке Си;
- Высокая скорость загрузки, стандартное рабочее окружение на базе Gentoo загружается на 29 секунд.