Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск сервисного менеджера s6-rc 0.7

15.07.2026 08:17 (MSK)

Опубликован выпуск сервисного менеджера s6-rc 0.7.0.0, предназначенного для управления запуском скриптов инициализации и сервисов. Поддерживается отслеживание дерева зависимостей и автоматический запуск или завершение сервисов для достижения указанного состояния. Инструментарий s6-rc может применяться как в системах инициализации, так и для организации запуска произвольных сервисов в привязке к событиям, отражающим изменение состояния системы. Система поддерживает скрипты инициализации, совместимые с sysv-init, и может импортировать информацию о зависимостях из sysv-rc или OpenRC. Код написан на языке Си и распространяется под лицензией ISC.

Сервисный менеджер s6-rc включает набор утилит для запуска и остановки длительно функционирующих процессов (демонов) или сразу завершаемых скриптов инициализации. В процессе работы обеспечивается параллельный запуск не пересекающихся между собой сервисов и гарантируется повторяющаяся при разных запусках последовательность выполнения скриптов. Все изменения состояния обрабатываются с учётом зависимостей, например, при запуске какого-то сервиса будут автоматически запущены необходимые для его работы зависимости, а при остановке - остановлены и зависимые сервисы.

В отличие от других сервисных менеджеров s6-rc поддерживает упреждающее (в offline-режиме) построение графа зависимостей для имеющегося набора сервисов, что позволяет выполнить ресурсоёмкий анализ зависимостей отдельно, а не во время загрузки или изменения состояния. При этом система не является монолитной и разбита на серию отдельных и заменяемых модулей, каждый из которых в соответствии с философией Unix решает только определённую задачу. Проект s6-rc придерживается философии минимализма (не содержит ничего лишнего) и потребляет минимум ресурсов.

Вместо уровней запуска (runlevel) в s6-rc предлагается концепция наборов (bundles), позволяющая группировать сервисы по произвольным признакам и решаемым задачам. Для повышения эффективности работы используется скомпилированная БД зависимостей, создаваемая утилитой s6-rc-compile на основе содержимого каталогов с файлами для запуска/остановки сервисов. Для разбора и манипуляций с БД предлагаются утилиты s6-rc-db и s6-rc-update. Инструментарий s6 используется в дистрибутивах Obarun, Adelie и Artix, а также опционально может применяться в Gentoo, Void и Alpine.

Проектом также развиваются сопутствующие пакеты, дополняющие s6-rc:

  • s6 - утилиты для отслеживания работы процессов и управления процессами (аналог daemontools и runit). Поддерживаются такие возможности как перезапуск процессов после их аварийного завершения, запуск обработчика (активация сервиса) при обращении к сетевому порту, журналирование событий (замена syslogd) и контролируемое предоставление дополнительных привилегий (аналог sudo).
  • s6-linux-init - реализация init-процесса для операционных систем на базе ядра Linux, применяемого для создания систем инициализации, в которых для управления сервисами и скриптами используются пакеты s6 и s6-rc.
  • s6-networking - набор утилит для создания сетевых сервисов, похожий на ucspi.
  • s6-frontend - обвязка для воссоздания функциональности daemontools и runit поверх s6.
  • s6-portable-utils - набор типовых Unix-утилит, таких как cut, chmod, ls, sort и grep, оптимизированных для потребления минимальных ресурсов и поставляемых под лицензией ISC.
  • s6-linux-utils - набор утилит, привязанных к Linux, таких как chroot, freeramdisk, logwatch, mount и swapon.
  • mdevd - менеджер событий (аналог udevd), предназначенный для обработки горячего подключения устройств. По конфигурации mdevd совместим с mdev из состава Busybox.
  • bcnm - сетевой конфигуратор с возможностями для настройки Wi-Fi на стороне клиента.
  • execline - язык написания сценариев.
  • skalibs - библиотека для создания безопасных системных приложений на языке Си.
  • s6-dns - набор клиентских библиотек и утилит, заменяющих типовые DNS-утилиты из BIND и djbdns.
  • dnsfunnel - перенаправляет локальные DNS-запросы на внешний сервер (DNS forwarder).
  • shibari - простой DNS-сервер.
  • tipidee - HTTP-сервер с поддержкой HTTP/1.1.



В новой версии s6-rc и связанных с ним утилитах:

  • Реализована команда "s6-rc reload" для перезапуска длительно работающих сервисов.
  • Добавлен управляющий файл reload-signal, определяющий сигнал, отправляемый процессу для перезапуска (по умолчанию SIGHUP).
  • Удалена утилита s6-rc-bundle - изменение bundle-наборов без перекомпиляции больше не поддерживается.
  • Предложен новый формат внутренней БД (для обновления требуется перекомпиляция и запуск утилиты s6-rc-format-upgrade.
  • Обеспечена корректная обработка ситуации повторного запуска утилиты s6-rc-init для инициализации сервисов и улучшена обработка системных сбоев.
  • В утилиту s6-rc-set-change добавлены опции: -I/-i для вывода предупреждения или завершения с ошибкой при обнаружении конфликтующей зависимости; -P/-p для отключения/включения автоматического разрешения конфликтов зависимостей при изменении состояния сервисов.
  • Удалена устаревшая опция "-f".
  • В утилиту s6 добавлена команда s6-svscanboot для перенаправления логов супервизора s6-svscan в s6-log, когда он выполняется не под PID 1.
  • Реализована опция "s6-svc -l" для отправки сигнала для перезапуска.
  • В интерфейс пользователя s6-frontend добавлена поддержка опций и команд: "s6 --user" (для работы с пользовательскими сервисами), "s6 live reset", "s6 apply", "s6 enable|disable|start|stop|kill|apply", "s6 live stop --clean".
  • В http-сервере tipidee реализована поддержка FastCGI и добавлена опция cgi_pass_authorization.

  1. Главная ссылка к новости (https://github.com/skarnet/s6-...)
  2. OpenNews: Выпуск системного менеджера systemd 261 и форка liberated-systemd 261
  3. OpenNews: Опубликован системный менеджер GNU Shepherd 1.0.0
  4. OpenNews: Уязвимость в системе инициализации finit, позволяющая войти в систему без пароля
  5. OpenNews: Первый выпуск минималистичной системы инициализации Nitro
  6. OpenNews: Выпуск системы инициализации SysVinit 3.16
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65905-s6
Ключевые слова: s6, init
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (60) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Ваня фанат СПО из подмосковья (?), 08:22, 15/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    ну а в каких дистрах он есть то?
     
     
  • 2.2, Аноним (2), 08:44, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://wiki.gentoo.org/wiki/S6
     
     
  • 3.50, 1 (??), 18:38, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +6 +/
    В Gentoo красавчики. Тихо и мирно подтянули еще одну init  систему.
     
  • 2.3, Аноним (3), 08:46, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В каких поставишь, в таких и будет. Obarun возьми вон.
     
     
  • 3.34, Аноним (34), 15:27, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это какой-то нанодистр для микроинфлюенсеров?
     
  • 2.10, Аноним (10), 11:05, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Это скорее для встраиваемых систем. Ещё в докер контейнерах можно встретить, так как ресурсы вообще не потребляет, а инит удобный
     
     
  • 3.58, q (ok), 02:22, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нахрена в докере инит? В докерах, один контейнер = один сервис. Если нужны два сервиса, создаешь не "один контейнер с инитом", а два контейнера нахрен, в едином поде если надо.
     
     
  • 4.65, Аноним (65), 18:17, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вот и выдрессированных плательщиков докер-хостингов подвезли.
     
     
  • 5.67, Аноним (67), 20:41, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не всем же локалхосты админить.
     
  • 2.18, Hturt (?), 12:08, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В artix
     
  • 2.33, Аноним (34), 15:26, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    В 1.5 дистрах не пойми для кого.
     

  • 1.4, Аноним (4), 08:48, 15/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Лучше и проще bsd init никто ничего не придумал. Внезапно, достаточно было просто sysv init до ума довести, а не заниматься изобретением самонаводящихся костылей.
     
     
  • 2.5, Анонимный аноним (?), 09:31, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –22 +/
    Лучше systemd никто ничего не придумал. Внезапно, достаточно сделать полноценный менеджер сервисов, а не набор shell-портянок, чтобы избавиться от ненужных различий между дистрибутивами и реализовать всю функциональность, необходимую разработчикам и админам.
     
     
  • 3.7, Аноним (7), 09:42, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >менеджер сервисов

    Он системный мененджер, если что.

     
  • 3.9, sunjob (ok), 10:44, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > достаточно сделать полноценный менеджер сервисов, а не набор shell-портянок, чтобы избавиться от ненужных различий между дистрибутивами

    - shell/bash-скриптинг практически не зависит от версий дистра
    - бинарная сборка - напрямую завязана на системные библиотеки и как следствие (как обычно) обратно не совместима, упс...
    /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.30' not found (required by ...)
    /lib64/libc.so.6: version 'GLIBC_2.34' not found (required by ..)
    и иже с ними (не говоря про постоянные "каверкание языка/стандарта")

     
     
  • 4.29, Анонимный аноним (?), 13:36, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тут даже комментировать нечего.
    Чел реально предлагает переносить бинарный systemd между дистрами. И ему даже в голову не пришло, что нужно собрать systemd тогда уж с самой старой доступной версией glibc, чтобы он заработал.
    И чел не догадывается, что пути до скриптов, программ в разных дистрах - разные.
    И приплел сюда зачем-то обратную совместимость. Челик, обратная совместимость это про API библиотек!
    Вот он уровень эрудиции анонимных обскурантов.
     
     
  • 5.60, q (ok), 05:57, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Чел реально предлагает переносить бинарный systemd между дистрами

    Ты нихрена не понял. Системдос разумеется надо собирать под каждый дистр отдельно. А вот текстовые юнит-файлы уже более-менее дистронезависимы благодаря системдосу. Понял? Подсознал? Уже догадываешься, в чем ты лопухнулся? (Спойлер: ты перепутал концепты "системдос дистронезависим" и "системдос предоставляет дистронезависимую среду".)

     
  • 5.66, Аноним (65), 18:19, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > с самой старой доступной версией glibc, чтобы он заработал

    Внезапно - как раз не факт, что заработает.

     
  • 3.15, Moebius (ok), 11:51, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Определи "полноценность".
    Как только в unit-файле становится нужно описать что-то сложнее очереди запуска, он начинает выглядеть так:

    ExecStart=/opt/svc/some_service.sh

    Если твой shell-скрипт размером с портянку, его пора переписывать на каком-нибудь python.

     
     
  • 4.25, Аноним (25), 12:55, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Если твой shell-скрипт размером с портянку, его пора переписывать на каком-нибудь python.

    питон в такую портянку не превращается?

     
  • 4.51, sunjob (ok), 19:05, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Если твой shell-скрипт размером с портянку, его пора переписывать на каком-нибудь python.

    питон превратиться еще в более протухшую и нихрена не читабельную портянку... а уж редактировать бидонa - это вообще удовольствие :о)


     
  • 3.28, Аноним (28), 13:29, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тот случай, когда решение оказалось хуже болезни.
     
     
  • 4.36, Аноним (34), 15:30, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Где посмотреть на твое решение лучше болезни?
     
  • 3.38, IMBird (ok), 15:35, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ни разу не видел в BSD набор shell-портянок. Вы путаете с линуксом.
    Типовая конфигурация ближе к INI, чем к shell, при этом возможности сложной настройки сохраняются. Система достаточно гибкая – у тебя CONF-файл (либо .d папка с набором), тут же доступен лучший редактор для этих задач – ee. Если в линуксе задача «подправить конфиг» заранее вызывала нервный тик, то тут такого нет. Вкупе с повальным использованием модулей – пересборкой ядра вместо реконфигурации занимаются нездоровые либо отчаявшиеся люди – система и вовсе выглядит как юникс здорового человека.

    Рекомендую изучить вопрос, дабы было чем аргументировать.

     
  • 3.56, dannyD (?), 22:18, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>Лучше systemd никто ничего не придумал.

    жырнее и залазящий везде без мыла.

     
  • 3.59, Аноним (59), 04:04, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Только вот systemd давно стал менеджером системы и даже разобраться в хитросплетениях юнит-файлов удается с трудом даже мейнтейнерам, а про остальное можно и не говорить...
     
  • 2.31, Аноним (31), 14:40, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как пользователь этого говна скажу что ничего хуже не существует Но проще дейст... большой текст свёрнут, показать
     
     
  • 3.39, IMBird (ok), 15:38, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что большая часть из описанного – это не задача инита, внезапно. Тут юникс, а не линукс.
     
     
  • 4.55, Энтомолог_русолог (ok), 21:15, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, чувак
    Ни FreeBSD, ни OpenBSD, ни NetBSD никогда не были и не будут Unix®, в то время, как один из дистрибутивов Linux проходил сертификацию на Unix® и являлся таковым(это был EulerOS 2.0 от Huawei, который представляет из себя пересборку srpm от RHEL https://www.huawei.com/en/news/2016/9/huawei-kunlun-euleros-unix-certification)

    А твои бредни и фантазии никому не интересны. Есть четкое понятие что такое Unix® и *BSD даже рядом не стояли

     
     
  • 5.63, BorichL (ok), 15:05, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Чувачок, были времена когда основной Unix был BSD (кстати до сих пор обновляется), из чего всё это семейство потом и произошло. А бумажкой с сертификацией можешь подтереться, как и R в кружочке, tm и прочей ересью из мира розовых поней.

    PS:
    -- Гиви, а гдэ тот рэвольвэр, что я тэбэ подарил?
    -- Я его продал Гиви, пасматры, какие классные часы купыл на эты дэньги!
    -- Гиви, а эсли к тэбэ кто-ныбудь падайдёт и скажэт, что он тэбя эбал, жэну твою эбал и маму тваю эбал, то что ты эму скажэшь? Пол второго?

     
  • 2.35, Аноним (34), 15:29, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >достаточно было просто sysv init до ума довести

    Что помешало тебе это сделать? Или как обычно - кто-то другой должен?

     
     
  • 3.47, Аноним (47), 17:36, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нет не так. С какого перепугу он решил, что sysV init не доведён до ума? Чувак, sysV init это классика пережившее всё и вся.
     
     
  • 4.57, Энтомолог_русолог (ok), 23:04, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    SysV init это труп стюардессы который давно закопали и только местные некродендрофилы все пытаются ее выкопать
     
  • 2.44, Аноним (44), 17:15, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Лучше и проще bsd init никто ничего не придумал. Внезапно,

    dinit?

    > достаточно было
    > просто sysv init до ума довести, а не заниматься изобретением самонаводящихся
    > костылей.

    Ну и почему-то не довели и не доводят на сегодняшний день, даже против-systemd проекты кто куда рассматривают валить с sysvinit, только деван будет держаться до талого, да и тот смотрит в сторону runit


     

  • 1.8, sunjob (ok), 10:30, 15/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > при запуске какого-то сервиса будут автоматически запущены необходимые для его работы зависимости,
    > а при остановке - остановлены и зависимые сервисы.

    а если "зависимые сервисы" нужна вне зависимости как "сервисы" или еще какие "фикусы", как будем выкручиваться?

     

  • 1.11, Мемоним (?), 11:16, 15/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Нужен системный менеджер на основе нейросети. Почему никто до сих пор не сделал?
     
     
  • 2.13, sunjob (ok), 11:34, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Нужен системный менеджер на основе нейросети. Почему никто до сих пор не
    > сделал?

    ирод, не подсказывай! :о)

     
  • 2.16, ryoken (ok), 12:02, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нейросеть съест все ресурсы и комп больше ничего полезного делать будет не в состоянии?
     
     
  • 3.21, Мемоним (?), 12:34, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Нейросеть съест все ресурсы и комп больше ничего полезного делать будет не
    > в состоянии?

    Да не, не обязательно. Есть же специализированные нейронки, там может быть всего несколько миллионов параметров – запустится даже на калькуляторе. Плюс и LLM бывают небольшие, типа Qwen 0.6B

     
  • 3.45, Аноним (44), 17:16, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Нейросеть съест все ресурсы и комп больше ничего полезного делать будет не
    > в состоянии?

    Зато будет куча сгенерированных картинок на экране загрузки ))

     
     
  • 4.62, Аноним (62), 13:44, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше порнхаб загрузка. Можно сэкономить на генерации
     
  • 2.23, Аноним (23), 12:37, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    С обвязкой на node.js
     
  • 2.42, Аноним (42), 16:32, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что никто не просил. Иди в чатгпт/клауди/дипсик и скажи ему "сделай мне что-то вроде systemd но чтобы там была LLM небольшая, чтобы можно было вместо структурированных юнитов писать текст 'запусти то и то, но после того'. и чтобы не падало!"
     

  • 1.12, БоссАнонимов (?), 11:28, 15/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Когда смотрел код этого поделия, выглядело оно стремно
     
  • 1.14, Аноним (14), 11:41, 15/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лол, когда в системд отдельный модуль управляет DNS, то это блоат и антиюникс; когда такой модуль есть в s6, то это минимализм и юниксвей. Не перепутайте)
     
     
  • 2.17, Аноним (3), 12:04, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это ты ещё nscd в glibc не видел.
     
     
  • 3.22, Аноним (23), 12:36, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А прчём здесь сервисные менеджеры?
     
     
  • 4.27, Аноним (3), 13:06, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А прчём здесь сервисные менеджеры?

    При том что посмотри чем он занимается.

     
     
  • 5.40, Аноним (23), 16:31, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нет его у меня, Use="-nscd"
     
     
  • 6.46, Аноним (3), 17:22, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя нет nscd, у меня нет systemd-resolved и dnsmasq. 10 велосипедов для одно и того же это проблема на самом деле.
     
  • 2.37, Аноним (34), 15:34, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не понимаете, это другое.
     

  • 1.20, Аноним (20), 12:33, 15/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Система поддерживает скрипты инициализации, совместимые с sysv-init, и может импортировать информацию о зависимостях из sysv-rc или OpenRC.

    Нужно ещё эмулятор systemd написать.

     
     
  • 2.41, Аноним (19), 16:32, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Сначала эмулятор, а потом и саму системду всунуть... Нет уж, только забыть.
     
  • 2.43, Аноним (19), 16:32, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то системда не горит желанием эмулировать другие системы инициализации.
     
     
  • 3.52, Аноним (67), 19:16, 15/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не по чину королю подражать крестянам.
     
     
  • 4.61, dannyD (?), 06:21, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    короля делает свита.
     
     
  • 5.68, Аноним (67), 20:44, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Весь коммерческий мейнстрим на systemd таки перешёл. И большая часть некоммерческих дистрибутивчиков для локалхостов тоже.
     

  • 1.53, Георгий (??), 19:21, 15/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я помню только daemontools, которым можно было в Окошках виртуальные компакт-диски монтировать.
     
  • 1.64, Аноним (64), 16:27, 16/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всегда отключайте systemd-timesyncd, там дырища страшнейшая.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру