Runit против systemd: Где минимализм начинает мешать
• Я уже рассказывал, почему мне нравится минимализм runit, но было бы неправильно говорить только о его преимуществах, потому что небольшое количество компонентов не всегда делает систему удобнее.
• У runit нет полноценного декларативного управления зависимостями. В systemd можно отдельно указать, какой сервис необходим и в каком порядке их нужно запускать, а в runit подобная логика обычно переносится в shell-скрипты.
• В runit также нет встроенного аналога
systemd.timer, поэтому для выполнения команд по расписанию понадобится cron или другой отдельный инструмент.• Socket activation, централизованное управление устройствами, пользовательскими сессиями и другими частями системы также не входят в runit. Всё это можно реализовать отдельными программами, но администратору придётся самостоятельно подобрать и связать их между собой.
• Логирование в runit остаётся простым и понятным, однако оно не предоставляет всех возможностей
journald, например поиска по структурированным полям, конкретной загрузке системы, пользователю или cgroup.•
chpst позволяет запускать программу от другого пользователя и устанавливать базовые ограничения, но у runit нет такой же тесной интеграции с cgroups и параметрами изоляции сервисов, как у systemd.• На настольных системах часть программ рассчитывает на наличие компонентов systemd, например
systemd-logind. В дистрибутивах без systemd эту роль может выполнять совместимый elogind, однако иногда это создаёт дополнительные проблемы с интеграцией.• Runit хорошо подходит тем, кому нужна небольшая, прозрачная и предсказуемая система управления сервисами, особенно в Void Linux, минимальных или самостоятельно собранных системах.
• Systemd удобнее там, где нужны сложные зависимости, таймеры, socket activation, централизованные журналы, управление ресурсами и тесная интеграция с остальными компонентами дистрибутива.
• Выбор системы инициализации это не выбор между добром и злом, а выбор между небольшим набором простых инструментов и большой интегрированной системой. Используйте то, что подходит именно под ваши задачи, и не превращайте init в религию. Удачи!
• Поддержать автора монеткой: @v_meshke
