LINUX.ORG.RU

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

 


1

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)
Ответ на: комментарий от zabbal

А еду и коммуналку разрабы, по-твоему, тоже кодом оплачивают?

Ты не поверишь, есть разрабы, для которых программирование - это хобби. Прикинь, один анастезиолог даже шедулер для ядра написал.

Ожидаемо

О, прям эффективным менеджером запахло! 2 строчки кода обозвать сервисом, это ж надо же…

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

Ну это же жалкое зрелище для взрослого человека.

Согласен, неосиляторы действительно выглядят жалко. Хорошо, что для них придумали systemd!

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

зачем тмпфайлс лезть во все щели если это типа для run

А оно лезет?

gaylord
()
Ответ на: комментарий от eagleivg

есть разрабы, для которых программирование - это хобби

И? Занимайся хобби сколько угодно. Пользоваться люди будут всё-равно тем, что активно поддерживается и решает их задачи - то есть тем, что разрабатывается на деньги бизнеса в режиме полного рабочего дня.

прям эффективным менеджером запахло

Ну сходи подмойся в кой то веки.

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

… Явно тебе не нравится что происходит.

Мусор в корне мне не нравится. Но тут дело вкуса.

Часть файлов в /etc это ссылка на /proc, например.

Знаю только mtab. Но это по историческим причинам. Он-то, кстати и генерился.

… лишних директорий типа /usr/bin, /usr/sbin, /bin, /sbin

zabbal в общих чертах правильно описал.

То что было нужно для процесса загрузки до монтирования больших носителей в /bin, /sbin. Два потому что в /sbin - команды администрирования, которые пользователю не нужны и по путям проще в одном каталоге искать. Что-то типа того.

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

То что было нужно для процесса загрузки до монтирования больших носителей в /bin, /sbin. Два потому что в /sbin - команды администрирования, которые пользователю не нужны и по путям проще в одном каталоге искать. Что-то типа того.

Ну только это все уже давно неактуально.

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

… split usr не работает уже кажется нигде.

Разве что с systemd. :) И то, думаю, что можно заставить работать.

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

Разве что с systemd. :) И то, думаю, что можно заставить работать.

Alpine не умеет, а там OpenRC. Ничего с systemd не умеет (95% production дистрибутивов). Все, это мертвая история.

gaylord
()
Последнее исправление: gaylord (всего исправлений: 1)
Ответ на: комментарий от LongLiveUbuntu

Кто убивает? Каких людей?

За ответ на этот вопрос на этом форуме получаешь -7.

gaylord
()
Ответ на: комментарий от qwe

В чём разница?

В том, что мне нужно, чтобы syncthing, ssh-agent и mpd имели доступ к данным моего пользователя, а не читали из /var/lib. Кажется очевидным, нет?

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

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

Это прекрасно. А программа что, неужели не хочет?

Не могу сюда притянуть:

Это не сервисные пользователи. Это нормальные пользователи.

В чём разница?

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

В том, что сервисные пользователи имеют отдельные от твоего пользователя UID и GID?..

А у нормальных пользователей они совпадают?

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

split usr не работает уже кажется нигде.

Фигня попсовая. Нужно каждую директорию из / выносить на отдельный раздел.

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

Альпайн этой осенью переехал с /bin на /usr/bin, сломав мне несколько пакетов, которые я пилю для собственных нужд…

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

А должны? Я не понимаю куда ты ведешь. Пользовательские сервисы запускаются (внезапно) от пользователя, который (еще раз внезапно) их запустил. Имея доступ к $HOME, где конфиги, данные и прочее. Сервисные юзеры отдельные и сервисы от них запущенные доступа к твоему хомяку не имеют. Да еще и рута для создания требуют.

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

А должны?

Следуя вашим объяснениям, должны.

Пользовательские сервисы запускаются (внезапно) от пользователя, который (еще раз внезапно) их запустил. Имея доступ к $HOME, где конфиги, данные и прочее.

Почему вдруг внезапно. Всегда так было.

Сервисные юзеры отдельные и сервисы от них запущенные доступа к твоему хомяку не имеют.

А к своему имеют? Запускаются

(внезапно) от пользователя, который (еще раз внезапно) их запустил.

Или нет?

Да еще и рута для создания требуют.

Для создания чего?

qwe ★★★
()
Последнее исправление: qwe (всего исправлений: 1)
Ответ на: комментарий от devl547

А зачем? Для загрузки по сети достаточно загрузить initramfs и ядро, смонтировав /home.

gaylord
()
Ответ на: комментарий от qwe

Следуя вашим объяснениям, должны.

Нет, не должны. Ещё раз – когдая запускаю firefox от пользователя user1, я хочу, чтобы firefox видел $HOME user1. Когда от user2 – $HOME user2. То же самые с пользовательскими сервисами, они запускаются от пользователя user1 и мало чем отличаются от запущенного там же firefox, кроме супервизора, логирования и удобной ручки для включения/выключения. Предложенный выше костыль с отдельным сервисным пользователем и группой чаще всего для такого просто неудобен и требует рута чтобы этого пользователя и группу создать. Очень странно что мы об этом все ещё говорим в 2025, все это было обсосано во время перехода Debian на systemd в 2012 году.

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

в gentoo и работает.

gentoo_vb ~ # eselect profile list | grep split-usr
  [25]  default/linux/x86/23.0/i686/split-usr (stable) *
  [26]  default/linux/x86/23.0/i686/split-usr/hardened (stable)
  [27]  default/linux/x86/23.0/i686/split-usr/hardened/selinux (stable)
  [28]  default/linux/x86/23.0/i686/split-usr/desktop (stable)
  [29]  default/linux/x86/23.0/i686/split-usr/desktop/gnome (stable)
  [30]  default/linux/x86/23.0/i686/split-usr/desktop/plasma (stable)
alex4tomsk
()
Ответ на: комментарий от alex4tomsk

зависит от решаемых задач, у меня стоит для web-сервисов :)

Я понимаю что можно, но я не могу обосновать себе страдание с гентой ради веб-сервисов. У тебя есть какие-то метрики, почему стало лучше, или это религиозное (в нейтральном смысле) решение?

gaylord
()
Последнее исправление: gaylord (всего исправлений: 1)
Ответ на: комментарий от alex4tomsk

я не понимаю в чем страдания, в компиляции при обновлении? или что-то еще?

Конечно. Компиляция при обновлении, огромная непокрытая поверхность QA из-за флагов, которую некому тестировать в силу не самой большой пользовательской базы. Не знаю, притащили ли они ядерный конфиг, но раньше приходилось его собирать самостоятельно либо с помощью не самой регулярно обновляемой тулзы, либо буквально руками писать, из-за чего люди часто пропускали либо важные вещи вроде настройки шедулеров, либо делали сами себе критичные дыры из-за вольных дефолтов ядра. В общем, страдания там много, а чем это лучше условного Alpine неясно.

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

Я этого не говорил.

Цитирую тебя:

никому не нужно

не разрабатывается

Ты пишешь это в новости о новой версии.

никому не нужно

И сразу за всех порешал.

Фактически, если эти два утверждения стоят в одном приложении, это вариация того, что написал я.

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

Ты пишешь это в новости о новой версии.

У них появился новый разработчик, который начал что-то делать. До этого там ничего не происходило лет пять-шесть. Возможно он сможет вытащить в одно лицо, а возможно поправит какие-то мелочи и забьет.

Фактически, если эти два утверждения стоят в одном приложении, это вариация того, что написал я.

Фактически, openrc почти не используется. Да есть фоннаты Alpine типа меня, но Alpine так-то хочет отказаться от openrc, они давно про это разговоры ведут. Есть фоннаты генты, но кроме случайных анонимусов на LOR, гента никем особо не используется. Они в этом году набрали $20k донатов. На секундочку, OpenBSD, у которой по подсчетов самих OpenBSD’шников 10-20 тысяч пользователей по всему миру, собирает по $300-$600k в год. По-моему vaxxry со своим Hyprland больше заработал.

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

То же самые с пользовательскими сервисами, они запускаются от пользователя user1 и мало чем отличаются от запущенного там же firefox, кроме супервизора, логирования и удобной ручки для включения/выключения.

Что такое «супервизор» в данном случае не понимаю. Логирование через API syslog в любом случае. Т.е. «номальный» пользователь от «сервисного» ничем не оличается, кроме некой эфемерной «ручки»? Или как?

Предложенный выше костыль с отдельным сервисным пользователем…

Сто-о-опе. Про сервисных и нормальных пользователей - Ваша подача. Я-то как раз спрашивал:

В чём разница?

Надоела мне эта фигня. Выходные начинаются. Лучше стопаря накачу и почитаю без комментариев.

Очень странно что мы об этом все ещё говорим в 2025, все это было обсосано во время перехода Debian на systemd в 2012 году.

Ну-у. Или плохо говорим или плохо сосали, или когда сам думать не умеешь обсасывай.

Там выше Вы выразились по поводу средней грамотности LOR.

Хотелось свою планку грамотности поднять. Вам был задан простой вопрос. Оказалось, Вы не имеете понятия об элементарных вещах. Ни о правах пользователей, ни о сервисах, ни об иниализации системы, ни о плюсах systemd (да, у него есть свои плюсы).

Как сказал комрад выше: «Дешевле посадить обезьянок, чем платить специалистам». Я не так категоричен. Просто гуманитариям проще пользоваться декларативным языком, а то что не понимают называть портянками.

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

Что такое «супервизор» в данном случае не понимаю.

То что же, что и обычно, г-ди. Выключай хлебушка.

Логирование через API syslog в любом случае.

Конечно же нет. Большая часть современных программ просто пишет в stderr.

Т.е. «номальный» пользователь от «сервисного» ничем не оличается, кроме некой эфемерной «ручки»? Или как?

Пожалуйста, хватит троллить нас тупизной. Ты прекрасно понимаешь о чем речь: я хочу запустить syncthing от того же пользователя, от которого я делаю все остальное – сижу в firefox, пишу в neovim и слушаю музычку через mpd.

Надоела мне эта фигня. Выходные начинаются. Лучше стопаря накачу и почитаю без комментариев.

А, вот это все объясняет.

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