LINUX.ORG.RU

systemd 256

 ,


0

2

Cвободный (GPLv2+) системный менеджер GNU/Linux порадовал поклонников очередным релизом.

В этом выпуске:

  • убрана поддержка старых cgroups v1 по умолчанию;
  • поддержка старых скриптов System V объявлена устаревшей, её планируется убрать в одном из следующих релизов;
  • добавлена поддержка допконфигов (drop-ins) для systemd-udevd;
  • в systemd-creds добавлена поддержка секретов для непривелигированных пользователей;
  • аналог опции юнита ProtectSystem= добавлен к системному менеджеру и включён по умолчанию в initrd – соответственно, код из initrd не сможет писать в /usr;
  • новый спецификатор %D в описании юнита – раскрывается в $XDG_DATA_HOME или /usr/share/ для пользовательских и системных юнитов соответственно$
  • интерфейс Varlink добавлен к systemd-networkd и systemd-hostnamed;
  • добавлена концепция капсул – группа юнитов под контролем отдельного экземпляра пользовательского systemd: фактически эквивалента запуску сервисов под отдельным пользователем без необходимости явно создавать этого пользователя – см. доки;
  • journal получил поддержку отправки логов (в формате JEF) в сокет что позволило организовать доставку логов из виртуалки, запущенной systemd-vmspawn на хост даже при отсутствии поддержки сети у гостевой системы;
  • systemd-run получил алиас run0 который работает как аналог sudo с контролем привелегий с помощью PolKit;
  • множество других замечательных нововведений и улучшений.

>>> Подробности

★★★★★

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

Ответ на: комментарий от kirill_rrr

Нет, не понимаю. В контейнере нет системы инициализации, она есть снаружи и никаких сервисов она не стартует – она тупо сигналы форвардит. man catatonit.

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

Удобно удаляет домашний каталог?

В одном из лоровских срачей про sysvinit приводили примеры инит-скриптов, которые удобно убивают все экземпляры mysql, радуя пользователей KDE. Баг с удалением домашнего каталога достаточно исправить в апстриме один раз. Исправить зоопарк говноскриптов невозможно в принципе

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

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

Не говоря уже о том, что эта битва изначально лишена смысла. systemd архитектурно лучше предыдущих решений. systemd никак не ограничивает твою свободу (код systemd распространяется под GPLv2, его можно изучать и модифицировать, модифицированную версию можно распространять, пока ты не срываешь информацию об авторах; возможность запускать линукс без systemd тоже никто не отнимал).

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

Выполнить systemctl status <unitname>. Искренне ваш, КО

Там нет информации об ошибке.

Он заставляет меня читать документацию!!!!

Не любую документацию. Как оказалось - именно нужную версию, потому что поведение часто меняется. Как оказалось, только официальные избыточно объёмные доки, но ни в коем случае не сокращённые статьи на тему и не вольные переводы.

Ну вот честно, за сколько времени ты напишешь свою собственную версию tmp.mount с нуля не глядя в дистрибутивный tmp.mount? Я писал это инит-скриптом для дебиан 6 (или 5) будучи школьником и с 2-3 попытки у меня всё заработало без ошибок.

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

В одном из лоровских срачей про sysvinit приводили примеры инит-скриптов, которые удобно убивают все экземпляры mysql, радуя пользователей KDE.

Разработчики sysvinit не заявляли открыто что сломают звук и систему.

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

Я бы тебя тоже кое куда послал, знаешь…«генетально»

Потом что больше сказать-то нечего. Вот ты и ведешь себя как быдло.

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

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

Комбайн, который обусловлен ровно ничем.

systemd никак не ограничивает твою свободу (код systemd распространяется под GPLv2

Код никак не ограничивает мою свободу, а вот насильное пропихивание привязки к системд - ещё как.

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

А могут просто взять и написать заново. Причём обратно совместимый аналог и возможно на другой менее токсичной лицензии. Наверное уже написали, но пока что systemd недостаточно скатился в говно, но всё ещё впереди.

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

Там нет информации об ошибке

Ты вообще systemd хоть раз в глаза видел? Ты им пользовался? Зачем ты несешь откровенную чушь?

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

Базовые функции systemd не менялись уже давно.

Как оказалось, только официальные избыточно объёмные доки

Здец, поборники линукса и опенсорса жалуются на наличие подробной и качественной документации. Ты пробил очередное дно.

Ну вот честно, за сколько времени ты напишешь свою собственную версию tmp.mount с нуля не глядя в дистрибутивный tmp.mount?

А куда еще ты мне запретишь смотреть? В документацию? Может, ты мне и мозгом пользоваться запретишь?

Я писал это инит-скриптом для дебиан 6 (или 5) будучи школьником и с 2-3 попытки у меня всё заработало без ошибок

Для этого нужны базовые знания POSIX shell и понимание работы sysvinit. Чем это отличается от необходимости читать документацию и думать головой при использовании systemd?

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

Это к чему было сказано? Сейчас диалог выглядит примерно так:

— systemd может удалить твои файлы!

— Для того, чтобы это исправить, достаточно один раз поправить код самого systemd. Это гораздо практичней, чем пользоваться тонной кривых скриптов. Некоторые из этих скриптов, не размениваясь на мелочи, убивают все экземпляры mysql в системе

— Ололо, а еще Поттеринг написал пульсу!

Немного странное развитие дискуссии, ты не находишь?

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

слабый оргумент, который обоснован ровно ничем

Поправил, не благодари

Код никак не ограничивает мою свободу, а вот насильное пропихивание привязки к системд - ещё как

Оставь свои эротические фантазии при себе.

Причём обратно совместимый аналог и возможно на другой менее токсичной лицензии

Стоп! То тебе свободы мало, то GPL — токсичная лицензия. Ты уж определись.

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

Немного странное развитие дискуссии, ты не находишь?

Суть в том что у системд сомнительная репутация. При этом проект её заслуживает, потому что уже не в первый раз такое.

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

Ты вообще systemd хоть раз в глаза видел?

Ага, а ты? Вот например:

root@raspberrypi:/etc# systemctl status

● raspberrypi
    State: degraded
     Jobs: 0 queued
...

root@raspberrypi:/etc# systemctl status systemd-journal-flush.service

● systemd-journal-flush.service - Flush Journal to Persistent Storage
     Loaded: loaded (/lib/systemd/system/systemd-journal-flush.service; static)
     Active: failed (Result: exit-code) since Sun 2024-06-16 21:57:01 +05; 4 days ago
       Docs: man:systemd-journald.service(8)
             man:journald.conf(5)
    Process: 354 ExecStart=journalctl --flush (code=exited, status=1/FAILURE)
   Main PID: 354 (code=exited, status=1/FAILURE)
        CPU: 62ms
root@raspberrypi:/etc#

ГДЕ информация об ошибке? С юнитом что то не так, но инфы нету!

Для справки: данный юнит вообще отключен и замаскирован. Он не должен запускаться! Какой к чёрту Main PID: 354 (code=exited, status=1/FAILURE) и CPU: 62ms?! Ему в явном виде и прописанным в документации образом сказали «не запускай этого» и «вообще забудь о его существовании».

на наличие подробной и качественной документации.

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

Чем это отличается от необходимости читать документацию и думать головой при использовании systemd?

Разницей в сложности задачи на 2 порядка. Ну, примерно как между дверью в квартиру и шлюзом МКС. Последний как известно отлично подходит для квартир.

А куда еще ты мне запретишь смотреть?

Ты хочешь проывести эксперимент по созданию с нуля несложного системного юнита, не существующего на данный момент, но решающего любопытную пользовательскую задачу? Отлично, давай напишем юнит, разворачивающий /home в tmpfs из архива где то примерно до запуска DM и заархивирующий его перед выключением? С tmp.mount конечно проще и достоверней, но он ведь уже существует!

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

За ним этот аудиосервер правили 10 лет прежде чем он начал работать. К счастью шелопердолики действительно так не могут!

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

Для этого нужны базовые знания POSIX shell и понимание работы sysvinit.

А в случае системд тебе нужно глубокое знание внутренностей системд и вручную прочесать всё дерево юнитов, особенно генерируемых на лету, чтобы понять (и построить на бумаге потому что в мире нет людей, способных держать в уме граф на ~200 узлов с десятком параметров на узел) какие из них будут затронуты и что прописать в зависимости.

А в сисвинит да, действительно, базовые знания шела и посикса. Потому что там линейный процесс и есть элементарнейшая точка окончания монтирования ФС, в самый конец которой надо пристроить свой трёхстрочник.

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

Active: failed (Result: exit-code) since Sun 2024-06-16 21:57:01 +05; 4 days ago

Docs: man:systemd-journald.service(8)

man:journald.conf(5)

Господи, какой же ты беспомощный. Тебе черным по белому написали, что делать дальше, а ты недоуменно хлопаешь глазами, как маленький ребенок.

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

man:journald.conf(5)

Ты реально предлагаешь читать полную документацию на демона только для того, чтобы система инициализации согласилась правильно НЕ ЗАПУСКАТЬ его? Может мне ещё исходники gcc почитать? Ну чтобы лучше баги отлавливать?

Но главное, ты не показал а где же собственно systemctl status <unit> выводит информацию по данной конкретной ошибке, про которую мне и нужно читать документацию. А то документация большая, а читать нужно минуты а не дни.

Да, и код ошибки 1(FAILURE) является общепринятым стандартом для «что то пошло не так, хз что». Про это документация не читается.

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

Ты реально предлагаешь читать полную документацию на демона только для того, чтобы система инициализации согласилась правильно НЕ ЗАПУСКАТЬ его? Может мне ещё исходники gcc почитать? Ну чтобы лучше баги отлавливать?

Не каждый день можно видеть человека, так решительно защищающего свое невежество.

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

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

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

Не, ты просто ткни меня носом в эту великолепную систему самодиагностики системд

Зачем? Тебя уже ткнули. Очевидней некуда. Но ты предпочитаешь дальше плакать о непонятном и сложном systemd

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

Docs: man:systemd-journald.service

Не могу понять кто из нас идиот, то ли я, потому что потратил неоправданно много времени чтобы убедиться что там нет и быть не могло ничего по поводу необходимости какого то особого обращения с systemd-journal-flush.service, или ты, для которого не очевидна бредовость идеи читать man:systemd-journald.service.

Судя по всему ты просто тролль, который трёкнул какую то хрень. По крайней мере теперь у меня есть доказательства.

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

Ну, мне как был не нужен аудиосервер 18 лет назад, так он и до сих пор не нужен. Хотя кто то его даже сделал.

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

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

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

слабый оргумент, который обоснован ровно ничем

От systemd требовалась, только чтобы это была система инициализации (ну в крайнем случае ещё пару утилит), но на него начали завязывать весь остальной софт и делать аналоги к тому что до этого работало. Вот скажи, зачем нужен этот сраный run0, когда до этого были sudo и pkexec? Всё ищут и ищут фатальные недостатки. Если этот комбайн скатится, то его придется кровь-из-носа выкидывать и вырезать из существующего софта тоже в случае если форка не получится.

Оставь свои эротические фантазии при себе.

Какие фантазии. Очевидно что получается корпо-вендорлок.

Стоп! То тебе свободы мало, то GPL — токсичная лицензия. Ты уж определись.

Оба, но лицензия не так важна как насильное пропихивание корпошлака.

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

От systemd требовалась, только чтобы это была система инициализации (ну в крайнем случае ещё пару утилит)

Так хорошо же получилась. Всю базовую сраку делает systemd, а ты пишешь что-то реально полезное. Только ты не пишешь.

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

Не, поттеринг написал аудиосервер. Шелопердолики так не могут.

Написал тормозное пшпшпш-говно, которое в прошлом постоянно отваливалось и имело ничего не умеющие настройки.

Так что ты прав, что пользователи шелла такого говна не напишут.

Этот кал переписали с нуля в пайпе, причём протокол libpulse даже остался и с новым сервером работает лучше самой пульсы.

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

Ну так и получается что весь софт привязывается к компонентам systemd, а его альтернативы просто нормально из-за этого не заводятся.

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

Так хорошо же получилась. Всю базовую сраку делает systemd, а ты пишешь что-то реально полезное.

Окей, давайте на этом и остановимся. Зачем делать systemd-os?

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

Этот кал переписали с нуля в пайпе, причём протокол libpulse даже остался и с новым сервером работает лучше самой пульсы.

Но шеллопердолики тут тоже не при делах.

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

Например? Потому что даже readiness notification это тупо запись в сокет.

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

А почему нет? Оффлоадим в systemd весь утилитарный функционал и ок. Не нужен тебе журнал? Не используй. Не нужен resolved? Не включай. Но иметь все приятно и удобно.

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

Не вижу чтобы он был «шелловым». По моему он всё прекрасно вам слабоумным разжевал.

Он топит за шелловый пердолинг, чего ты не видишь-то.

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

А почему нет?

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

Знаешь, это даже ничем не отличается от того что делает Apple со своими разработками завязывая и железо и софт на себя.

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

Потому что этот комбайн уничтожает взаимозаменяемость модулей.

Как? Не нужен resolved? Выключил, напердолил dnsmasq. Даже udevd можно выключить и напердолить вместо него mdev.

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

Он топит за шелловый пердолинг, чего ты не видишь-то.

Где? Вот ты уже нагло пи*дишь, потому что он выше написал:

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

systemd 256 (комментарий)

В целом, я так же думаю.

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

Как? Не нужен resolved? Выключил, напердолил dnsmasq.

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

Skullnet ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.