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

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

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

Откуда все падает и кто что не умеет? Речь о том, что systemd (и openrc, к слову), позволяет переопределить части сервиса без ручной правки файла. Это помогает избавиться от .rpmnew, .apknew и ручного мержа на каждом апдейте на десятках серверов. Это объективно хорошее инженерное решение.

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

Вообще, для однотипных действий на десятках серверов есть специальные решения типа ansible, специально чтобы не править ручками. Автоматизация, может слышали? Правда, там тоже нужны начальные навыки программирования, такому специалисту опять же надо платить больше, чем ini-макаке…

С другой стороны - ini в системе инициализации позволило сильно вырасти доле linux на десктопах - порог вхождения-то снизился (пусть и ценой меньшей гибкости)! Вон, в России айтишников на 23-й год было 0,5%, сколько из них программеров - не смог найти данных. А доля линукса уже значительно больше этого числа!

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

Вообще, для однотипных действий на десятках серверов есть специальные решения типа ansible, специально чтобы не править ручками.

И ты предлагаешь что именно? Разрешать мерж конфликты ансиблом на серверах? Или для минимальных изменений копировать весь сервис и постоянно трекать что в апстриме он не поменялся? Ты на пустом месте создал проблему.

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

… позволяет переопределить части сервиса без ручной правки файла.

Неужели через астрал?

… Это помогает избавиться от .rpmnew, .apknew

Чем мешают?

… и ручного мержа на каждом апдейте на десятках серверов.

Это вообще о чём?

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

Неужели через астрал?

Конечно же нет.

Чем мешают?

Тем, что содержат фиксы, которые не применяются потому что файлик в /etc поменян пользователем?..

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

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

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

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

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

Бизнес порешал, короче.

Бизнес так-то и ядро линукс разрабатывает, причём не первый год. Но ты поплачь, вдруг кто посочувствует порушенному маня-мирку :-D

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

Вот он и порешал. Например, выкинуть на мороз ментейнеров из подсанкционных стран.

А плакать бесполезно, с корпами бороться нужно по-другому. GPL и опенсорц они уже пережевали и выплюнули, пора придумывать что-то новое.

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

Например, выкинуть на мороз ментейнеров из подсанкционных стран.

За то что баш не осилили? А то я вроде слышал что там какая-то другая причина. Людей что-ли тысячами убивают. Случилось что-то?

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

Тем, что содержат фиксы, которые не применяются потому что файлик в /etc поменян пользователем?..

Какие, нафиг, фиксы для запуска/останова сервиса? То, что нужно было пользователю для этого, он как раз-таки и поменял.

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

а ну скажи что там не костыльно и офигенно, кроме интерфейса к cgroups? даже тот же tmpfiles это ДИЧАЙШИЙ костыль и выполнение того, чем системд вообще заниматься не должен. или вот резолв тот же, который постоянно у меня сбоит из-за кучи впнов и его приходится отключать и ставить dnsmasq.

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

Какие, нафиг, фиксы для запуска/останова сервиса?

Oh my sweet summer child.

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

Чем tmpfiles костыль? Это отличный privsep, решающий косяки доступа /tmp. Ты же не страдаешь что пакетный менеджер создает /var/cache/nginx?

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

Погоди, у тебя в посте было что-то про подсанкционные страны (правда в ядре было про подсанкционные конторы, но это конечно же мелочь). Куда пропало? Наверное важно было, раз ты написал.

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

tmpfiles удаляет временные файлы архиваторов, мц, кеша нгинкса, пхп и тд без спроса и чтобы решить эту проблему они прикрутили ИСКЛЮЧЕНИЯ и рекомендуют ПАТЧИТЬ весь софт в ос. костыль кривой костыльнющий. а с доступом к /tmp никогда на моей памяти проблем не было. оно при загрузке согласно рекомендации lfs очищалось и этого было достаточно всегда.

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

размещать временные файлы, ваш кеп

Что, и только-то?

Сообщение, кстати, не вам было адресовано.

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

Например, выкинуть на мороз ментейнеров из подсанкционных стран.

Само собой. Более того, владелец проекта может выкинуть неугодного ему хрена и безо всяких санкций - просто потому что ему так захотелось. Неужели до истерики Линуса ты об этом не догадывался?

пора придумывать что-то новое

Чем придумывать? Ты даже пример использования пользовательского сервиса без подсказки придумать не смог.

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

да? тогда зачем оно лезет к временным файлам и удаляет их? а также лезет в /usr/bin, /usr/local/bin и тд? необъяснимо, но факт

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

что там не костыльно и офигенно

Примерно всё. Логирование, предсказуемый и параллельный запуск сервисов, удобство для встраиваемых систем… Собственно поэтому его и используют буквально везде, игнорирую хныкающих хейтеров - удобство разработчика и мейнтейнера важнее чем ущемлённое самолюбие каких-то клоунов.

чем системд вообще заниматься не должен

systemd без сопливых разберётся чем он должен заниматься, а чем нет.

который постоянно у меня сбоит

Вообще не удивлён - я поражаюсь как ты со шнурками без подсказки справляешься, с таким-то мощным интеллектом :-D

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

т.е. тебе по фактам сказать нечего и ты перешел на оскорбления. яснопонятно. со встраиваемых систем вообще поржал сильно. его там нет.

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

Ну так просвети для чего нужен /tmp.

Исторически для временных файлов, типа того, что sort создает. Некоторые наркоманы пытались класть туда unix сокеты, но потом для этого придумали /var/run.

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

Я и про другое, намного более важное писал, но ты предпочел это игнорировать. Так что забей. Ну или научись вычленять из текста действительно важные тезисы, а не второстепенные. А то на тезис о разной стоимости оплаты труда людей с различными (и я не говорил что одни хуже других!) навыками ты ни к селу ни к городу вдруг начал жаловаться на какие-то личные проблемы с башем. А к тезису о том что корпорации подмяли под себя опенсорс приплёл какие-то тысячи убитых людей.

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

Я и про другое, намного более важное писал, но ты предпочел это игнорировать. Так что забей. Ну или научись вычленять из текста действительно важные тезисы, а не второстепенные.

Как же второстепенные? Ты говоришь мейнтейнеров выгоняют, подмяли опенсурс! Правда… выгнали мейнтейнеров, которые деньги получают в подсанкционных компаниях.

А то на тезис о разной стоимости оплаты труда людей с различными (и я не говорил что одни хуже других!)

Говорил конечно:

Человек, не умеющий гибко настроить сервис у которого всё падает с каждым апдейтом, стоит дешевле, чем человек хотя бы немного разбирающийся в архитектуре сервисов

Надеюсь ты не будешь хлебушком и не попытаешься съехать с того, что «человек у которого все падает с каждым апдейтом» явное указание на более низкую квалификацию?

навыками ты ни к селу ни к городу вдруг начал жаловаться на какие-то личные проблемы с башем

Это ты просто придумал.

А к тезису о том что корпорации подмяли под себя опенсорс приплёл какие-то тысячи убитых людей.

А подмяли? Крупная организация, зарабатывающая деньги на разработке Linux Kernel запретила быть мейнтейнерами представителям компаний, зарабатывающим деньги в подсанкционных конторах. В каком месте здесь подмятый опенсурс образуется?

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

Неужели до истерики Линуса ты об этом не догадывался?

Каюсь, был наивен и верил в сказки о примате кода над остальными факторами.

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

Мне просто и в голову не приходило, что строчку в кроне или файлик в .autostarts можно гордо обзвать пользовательским сервисом.

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

тебе по фактам сказать нечего

То есть ты даже простое перечисление в виде коротких предложений осилить не смог? Давненько мне не встречались хейтеры тупее чем ранние версии chatGPT.

его там нет

Он там есть - потому что я участвовал в разработке как раз такой системы. Причём мы велосипедов не изобретали (потому что не идиоты в отличии от хейтеров), а воспользовались стандартными рецептами OpenEmbedded - поэтому он есть очень много где и уже весьма давно.

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

верил в сказки о примате кода над остальными факторами

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

Мне просто и в голову не приходило

Ожидаемо.

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

Мне просто и в голову не приходило, что строчку в кроне или файлик в .autostarts можно гордо обзвать пользовательским сервисом.

Тебе ещё не приходило в голову, что эти сервисы куда-то должны логировать и их хотелось бы уметь перезапускать через systemctl --user restart syncthing, а не заниматься ерундой с pkill и ручным запуском. Так же в cron по умолчанию пустые переменные окружения и их придется туда нести. В общем, ты опять предлагаешь по сотому разу решать задачи, которые решают пользовательские сервисы, ради попытки почувствовать себя более грамотным.

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

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

ты опять ничего по фактам не сказал. когда будут факты подходи.

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

… Некоторые наркоманы пытались класть туда unix сокеты, но потом для этого придумали /var/run.

А теперь сравни права на эти каталоги.

Вначале мы антинаркоманский /var/run придумываем, а потом думаем как сервис от пользователя запустить.

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

потом для этого придумали /var/run

Точнее /run - использование /var/run это явная архитектурная ошибка, которую systemd наконец-то исправил.

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

А теперь сравни права на эти каталоги.

$ ls -ld /run/user/1000 
drwx------ 13 gaylord gaylord 500 Jan 10 11:29 /run/user/1000

И чо?

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

Точнее /run - использование /var/run это явная архитектурная ошибка, которую systemd наконец-то исправил.

Ну, да, но /var/run жил довольно долго.

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

… это явная архитектурная ошибка, которую systemd наконец-то исправил.

Безошибочно насрал в корень и сделал в /var ссылку.

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

Безошибочно насрал в корень и сделал в /var ссылку.

А почему тебя тревожат директории в /? Кажется что все логично: /var персистентный стейт, /run – нет.

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

А почему тебя тревожат директории в /? Кажется что все логично: /var персистентный стейт, /run – нет.

Мне пофиг в данном случае. Но с логикой я где-то упускаю. Если / тоже персистентный стейт, то как-то без разницы где будет неперсистентный. Нет?

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

Мне пофиг в данном случае.

Но ты же это упомянул. Причем ты не просто это упомянул, ты написал «насрал». Явно тебе не нравится что происходит.

Но с логикой я где-то упускаю. Если / тоже персистентный стейт, то как-то без разницы где будет неперсистентный. Нет?

Это все вопрос discoverability. Часть файлов в /etc это ссылка на /proc, например. Что-то раньше вообще случайно генерилось. Кажется что у нас есть куча лишних директорий типа /usr/bin, /usr/sbin, /bin, /sbin и все проще было бы положить в /bin, а не в /usr/bin, куда оно почему-то попало. Кажется что излишняя вложенность тоже не всегда хорошо.

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

Безошибочно насрал в корень

У тебя анальная фиксация. Сходи к психологу или на профильную порнушку передёрни - не засоряй ЛОР продуктами своих интеллектуальных потуг.

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

куда оно почему-то попало

Попало оно исключительно потому что на диске древнего компа, под который когда-то давно писали оригинальный Unix, закончилось место и им пришлось подключать дополнительный. Тащить этот старый костыль в 21 век - верх идиотизма. Хорошо что systemd это наконец-то исправил. Удивительно что это заняло так много времени.

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