27.09.2021

Системный менеджер InitWare, форк systemd, портирован для OpenBSD

Проект InitWare, развивающий экспериментальный форк системного менеджера systemd, реализовал поддержку операционной системы OpenBSD на уровне возможности управления пользовательскими сервисами (user manager — режим «iwctl —user», позволяющий пользователям управлять собственными сервисами). PID1 и системные сервисы пока не поддерживаются. Ранее аналогичная поддержка была обеспечена для DragonFly BSD, а возможность управления системными сервисами и управления входом для NetBSD и FreeBSD. Следующим шагом станет реализация поддержки управления пользовательскими сервисами для Illumos.

Проект InitWare нацелен на создание переносимого и модульного системного менеджера, способного работать на системах, отличных от Linux. При этом в отличие от systemd проект не пытается охватить необъятное и сосредотачивается только на функциях управления сервисами, пользовательскими сеансами и управлением входом (login management). Из состав исключены компоненты для управления устройствами (udev), настройки сети (networkd), резолвинга в DNS (resolved) и ведения логов (journald).

В InitWare пытаются сохранить высокий уровень совместимости с ключевыми сущностями systemd, такими как unit-файлы, команды systemctl и loginctl (в InitWare — iwctl и iwloginctl), процесс systemd1, API sd_notify и D-Bus-интерфейс управления входом. Для интерфейсов, специфичных для Linux, которые невозможно воспроизвести в других ОС, по возможности реализуется поддержка аналогов, например, вместо пространства имён и cgroups во FreeBSD для изоляции применяется механизм jail, а для отслеживания состояния процессов KQueue (к каждому процессу прикрепляется фильтр событий PROC). Из-за системных различий полной совместимости добиться не получается, но в качестве одной из целей называется возможность запуска без изменений или с минимальными изменениями большинства unit-файлов systemd.

Источник.