LINUX.ORG.RU

В OpenRC добавлены пользовательские сервисы

 


0

2

OpenRC – система инициализации для Linux-систем, которая поставляется вместо systemd в таких дистрибутивах как Gentoo и Alpine Linux.

В ветку master репозитория openrc добавлена функциональность, необходимая для запуска сервисов в сессии пользователя с помощью этой системы инициализации.

Конфигурационные файлы и скрипты инициализации пользовательских сервисов размещаются в следующих папках:

/etc/user/init.d
${XDG_CONFIG_HOME}/rc/init.d

/etc/user/conf.d
${XDG_CONFIG_HOME}/rc/conf.d

${XDG_CONFIG_HOME}/rc/rc.conf
${XDG_CONFIG_HOME}/rc/runlevels

Все поставляемые с openrc утилиты, такие как собственно openrc и rc-*, получили дополнительную опцию --user / -U для работы с пользовательскими сервисами.

Данные изменения вероятно войдут в ещё не выпущенный релиз openrc 0.57.

>>> коммит с документацией

★★★★★

Проверено: dataman ()
Последнее исправление: hobbit (всего исправлений: 2)

Too little too late. Но хорошо что появилось.

gaylord
()
Последнее исправление: gaylord (всего исправлений: 1)

openrc-run: Disable cgroups for user services due to lack of permissions

LMAO. Ну вот как так-то. Если я правильно помню, у dinit такой проблемы нет. OpenRC все-таки не вывозит в 2025.

gaylord
()
Последнее исправление: gaylord (всего исправлений: 3)

OpenRC – система инициализации для Linux-систем

Для UNIX-like систем. Как минимум в GhostBSD, форке FreeBSD, используется OpenRC в качестве системы инициализации.

которая поставляется вместо systemd в таких дистрибутивах как Gentoo и Alpine Linux.

И, пожалуй, всё. (=


Опоздали лет на пятнадцать, но новость всё равно хорошая. (=

mord0d ★★★★★
()
Ответ на: комментарий от Gonzo

У runit один недостаток: он стартует сразу все сервисы с перезапуском в надежде что рано или поздно оно запустится.

Я дважды пытался использовать его на ноуте с FreeBSD, но runit творит дичь на старте, засирает логи (и сеть, если включен remote syslog) и… в принципе с задачей справляется. Тупо, топорно, но эффективно… почти. (= Если нужна строгая последовательность — прописывай ручками старт/стоп зависимостей в скрипте, а если с этими же зависимостями работают другие сервисы… ух, забористые вещества они там курили! (%

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Иех, я опять на стороне проигравших... Меня ещё на первой войне инитов контузило, между бсд инит и систем пять. Топил за бзд, оборонял слакварь, как последний форпост. Потом по лесам бродил и прибился к лагерю ОпенРЦ. Но и эта война похоже проиграна.

Jameson ★★★★★
()
Ответ на: комментарий от mord0d

которая поставляется вместо systemd в таких дистрибутивах как Gentoo и Alpine Linux.

И, пожалуй, всё. (=

А больше и не надо. Остальные пусть на убунте сидят

Shprot ★★
()
Ответ на: комментарий от Jameson

Из классических инитов мы сейчас имеем только OpenRC и BSD init в разных вариациях (потому что они уже давно не идентичны в существующих *BSD). Всё.

  • OpenRC выигрывает у BSD init наличием распараллеливания. Во FreeBSD rcorder(8) умеет генерировать список инит-скриптов для параллельного запуска, только это нигде не используется.
  • BSD init выигрывает у OpenRC монументальной стабильностью благодаря обкатанной десятилетиями шелл-портянке /etc/rc.

У runit, daemontools, s6 и прочих маргиналов подход сильно отличается, и назвать их классическими нельзя. По сути это вообще супервайзеры, которые правильнее использовать вместе с инитом, а не вместо.

systemd вообще нагло с-3.14-здили идею у launchd(8) из macOS. Использовать DOS INI (вместо маковской надстройки над XML) для декларации сервиса было мудро, но пихать в инит решительно всё — идиотизм. Do one thing and do it well!

mord0d ★★★★★
()
Ответ на: комментарий от dataman

Ну это уже конкретные маргиналы, целью которых изначально была борьба с systemd. (=

Это всё хорошо, но совершенно бесполезно: смузихлёбам[1] нассать что там как работает, оно должно быть модным-молодёжным и релизиться каждый час, а прошлогоднее говно мамонта можете закопать!


[1]: Далеко ходить не надо, примеры в этом треде:

mord0d ★★★★★
()

вместо systemd

И, кстати, не вместо. Никогда там не было systemd, его не заменяли.

Кстати, я застал арчик на сабже. (=

mord0d ★★★★★
()

Конфигурационные файлы и скрипты инициализации пользовательских сервисов размещаются в следующих папках:

Чем не угодила папка «/etc/local.d»?

Enthusiast ★★★
()
Ответ на: комментарий от Grapow

Редакция данной новости как пользовалась s6 для запуска всяких syncthing, так и планирует продолжать это делать, потому что «все работает» (тм). Кроме того, часть сервисов вроде mako и xdg-desktop-portal умеет запускаться автоматически с помощью dbus-активации, а всякие wireplumber можно настроить на запуск через пайпварь.

Отдельная головная боль - это gnupg, которые выпилили у себя возможность запускаться под супервизором и рекомендуют gpg-connect-agent, который может в любой момент времени вывалить окно с pinentry и превратиться в тыкву, если к тому моменту гуй ещё не поднят. Ищу, чем бы заменить его. Пока вариантов не дофига.

Lrrr ★★★★★
() автор топика
Ответ на: комментарий от bernd

Его щупальца уже даже в Gentoo просачиваются, к сожалению.

dv76 ★★★★
()
Ответ на: комментарий от mord0d

Та не забористые, просто сделали простую как тапок систему сервисов. Кстати, где почитать про «ручками старт/стоп зависимостей в скрипте»? Я как-то пытался, но так и не нашел вменяемых гайдов. И что посоветуешь в качестве замены? OpenRC хорош в этом плане?

Gonzo ★★★★★
()
Ответ на: комментарий от bernd

так в диване луддиты. Орут «сустемд плохо», сами при этом ничего не разрабатывают и только тащат к себе всякую тухлятину. За чистотой архитектуры - точно не к ним.

Lrrr ★★★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.