LINUX.ORG.RU
ФорумTalks

Трагедия systemd и её последствия

 , ,


2

8

Привет, ЛОР!

На конференции разработчиков FreeBSD в 2018 один из разработчиков этой системы Бенно Райс (Benno Rice) представил доклад под названием «The Tragedy of systemd», выводом которого было то, что есть в Linux закапывают POSIX и кладут на совместимость с другими системами, то никто не мешает в BSD делать так же, только лучше. В частности, Бенно упомянул, что можно разработать нормальный механизм IPC, среди прочего, а также системный менеджер в духе launchd/systemd, но с меньшим количеством недостатков.

Скажи, ЛОР, спустя 5 лет кто-нибудь уже начал это делать? Потому что выглядит это довольно интересно. Я сейчас не пользуюсь BSD системами, поэтому не в курсе.

★★★★★

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

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

ЗЫ наелся я этой лапши из шелл скриптов и в каждом дистре эту лапшу готовили по своему.

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

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

Или ломать по полной и делать круто, круче чем лялекс.

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

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

А есть кто в треде кто бы смог внятно описать, что не так с системд?

Код там слегка говно. Некоторые виды юнитов сделаны через жопу (лень копать, где-то была статья с разбором). Бинарное логирование – довольно всратая срань, которая иногда ломается. API через dbus довольно всратый, да и сам dbus тоже всратый. Udev – полное говно и днище, но он таким был задолго до systemd. Udev – это вообще отличное доказательство того, что Greg KH не умеет программировать и его нельзя подпускать к клавиатуре (он автор этого чудовища, да).

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

наелся я этой лапши из шелл скриптов

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

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

А есть кто в треде кто бы смог внятно описать, что не так с системд? Без общих фраз и нытья, а внятно с аргументами и с высоты видения общей картины?

Да запросто.

1. Появилась необходимость изучать еще один продукт, и эта необходимость не выходит за рамки продукта. Портянки на баше возможно (!) имеют свои минусы, но они написаны на баше, который применяется ввезде, и который наверное нужно учить вторым по счету когда начинаешь Линукс;

2. Еще одна точка отказа. Пример: pm2 (менеджер ноды). Проблема, нода периодически перегружается. Дев косится на сисадмина, сисадмин на дева. Вместо того чтоб сказать «эй, бро, ты наговнокодил», мне приходится лезть в гребанные юниты, анализировать логи. И да, проблема оказалась в systemd как ни странно;

3. Бинарные логи. Проблема в том, что для чтения этих логов, нужно запускать отдельный специализированный исполняемый файл, а это порождает сразу несколько субпроблем, например невозможность прочитать логи иной архитектуры. Малина каза болду, SD-карта в ридере, дальше чо ? Вместо cat /mnt/sda1/var/log/messages, мы пердолимся пердолимся пердолимся. Далее, формат этих самых логов. Возможно он конечно настраивается в юните, но цука, я не хочу созерцать красивые Subject, Defined-by systemd, блекджек с шлюхами на пол-экрана, мне надо одна строчка с причиной дауна MySQL. Формат логов мешает их адекватному парсингу стандартными средствами юникса, например грепать, отгрепанное сортировать, ну и так далее;

4. Размер. Да, для ваших 32 гб рамы и 100500 гиг нвме это не критично, а вот например разработчику софта под ембеддед, где каждый мегабайт на счету - очень даже. Жирный, иными словами;

5. Тупорылая и неоднозначная настройка сети, которая пугает даже бывалых админов. Да кто ему цука разрешал ?!;

6. Невозможность (а может и скрытая возможность, хз), интерактивной загрузки;

7. Отсутствие простой и понятной автозагрузки. Да епта, мне надо date > /.файлик. Я не хочу для этой чуши писать юниты ! Но поцтерофилы и тут отмазались: пиши юнит который будет делать автозагрузку, кек.

И что самое интересное, у утят-системдят, на каждый аргумент одно и то же решение - пиши костыли. Надо /etc/rc.local - костыли. Надо прогрепать логи на вхождение слова - костыли. Не настраивается сеть - ССЗБ. Криво монтируются разделы - кури маны. A stop job running for user, а мы покакать хотим - ниасилил.

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

P.S. перехожу потихонечку на генту. Манал я это говнище.

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

Udev – полное говно и днище

А HAL что, лучше был?

udev появился ДО HAL.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от windows10
  1. Размер. Да, для ваших 32 гб рамы и 100500 гиг нвме это не критично, а вот например разработчику софта под ембеддед, где каждый мегабайт на счету - очень даже. Жирный, иными словами;

перехожу потихонечку на генту

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

Кстати, у меня systemd сейчас спустя 60 часов аптайма сожрал всего 10 метров памяти. Остальные демоны из его набора тоже немного кушают. Пруф: https://ibb.co/ByCPRQg

windows10 (23:24:45 Вт 17/10/2023) ТУПОЙ ОЧЕНЬ ТУПОЙ

Я не помню, почему я написал этот комментарий к твоему профилю, но похоже я был прав.

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

Ого, оно еще и память в процессе работы выжирает ?

windows10 ★★★★★
()

За кривожопость самих сервисов я пока промолчу, есть что сказать о каждом =)

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

P.S. перехожу потихонечку на генту. Манал я это говнище.

Как можно переходить ‘потихонечку’? Ты или на ней, или нет.

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

Как можно переходить ‘потихонечку’? Ты или на ней, или нет.

Элементарно. Дуалбут может быть не только с виндой. Мне ж еще и работать надо и котиков смотреть.

Дебиан как основной, генту пока настраиваю по часу в день. Поначалу долго, потом очень шустро, даже шустрее чем макось на маке.

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

Это фуфел. Чтобы настраивать Gentoo - нужна мотивация. Мотивация - это надо и котиков смотреть. А второй системой - это рак. Когда мы учились, то документацию бех сети не почитаешь, на форуме не спросишь. А у тебя сейчас комп в кармане.

Мне чисто для науки, а сколько у тебя она второй системой стоит?

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

Это фуфел. Чтобы настраивать Gentoo - нужна мотивация.

Да хер знает. Я просто у одногруппника скопировал make.conf в универе, собрал систему и всё само завелось. Дальше уже под себя слегка допиливал, но это были отдельные эпизоды. Так на генте я и просидел лет наверное 7, если мне память не изменяет. Ничо сложного в ней в принципе не было, так что я не знаю, что наш товарищ там настраивает. Возможно, он в основном подгоняет размер ноздри под свой палец.

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

systemd-oom? Но зачем?

Это дефолт и я его не менял.

Интересен выхлоп списка systemctl disable

$ systemctl disable
Too few arguments.
hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Нет в ней сложного. Особенно с DE. Только смысл тогда в ней? А вот с WM она и открывается, так как ты режешь всё лишнее. Не сильно, но ощутимо по производительности и стабильности. Crux тут перевешивает, конечно. Но и траха в разы. Gentoo для ленивых.

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

А вот с WM она и открывается, так как ты режешь всё лишнее.

У меня она с WM и была. Не понял наезда. CRUX у меня тоже был, но он слишком убог и в нём софта не было.

У тебя ещё небось systemd-pstore, remote-fs и остальная парашка… Это же как в Windows, левые службы ;))

Нет. Там на скриншоте весь список процессов, подпадающий под маску systemd.

«systemctl disable» таб пару раз нажми ))

Нажал. Вывело список файлов в текущей директории. Не пойму, что ты хочешь, ей богу.

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

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

Crux - прекрасная база. А вот ПО сам. Зато значительно гибче Gentoo и более глубокая настройка, так как сборку пакета и pre/post описываешь сам, а не кривой мейнтейнер. На Crux в Европе вертятся провайдеры, host машины для виртуалок, маршрутизаторы, фермы, кластеры в паре вычислительных центров и так далее. Вылизанные системы. Потому и не сдох.

Зато я смеюсь с состояний Nix. Вот не видел задач, чтобы как в Windows ‘точку восстановления’ использовать. Ну, пацаны тешатся (я смотрел концепцию в Guix, он языком интереснее (и systemd нет ;)). Это как с Xmonad перейти на DWL.

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

Сейчас в FreeBSD никакого systemd нет.

И хорошо, что нет.

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

Пасиба, но я подписан на тег freebsd.

представил доклад под названием «The Tragedy of systemd»

Хорошая у @hateyoufeel криокамера, почти не протекает! ☺

Скажи, ЛОР, спустя 5 лет кто-нибудь уже начал это делать?

Во FreeBSD никто даже не чешется. И это логично: даже переход на OpenRC (который относительно совместим с BSD rc) сломает совместимость и потребует очень много сил и времени на переход.

За другие *BSD ничего не скажу — не пользуюсь.

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

Это фуфел. Чтобы настраивать Gentoo - нужна мотивация.

Мне - не нужна. Захотел и поставил. Хотя да, systemd и жирнодистры меня порядком вымучили.

Мне чисто для науки, а сколько у тебя она второй системой стоит?

Меньше недели.

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

так что я не знаю, что наш товарищ там настраивает.

Да что угодно. Вот проснулся, включил генту, ставлю например epiphany, это час с моим днище-конфигом. Через полчаса написал клиент «Vitaliy please help my site down!!11», все, конпеляция прерывается, ребутаюсь, на полдня ухожу разбираться с проблемой. Через полдня звонит кум, говорит гоу на кофе. Это еще часа два-три. Вернулся домой. Приготовил пожрать, поубирал и тд итп. Включил наконец генту, поставил конпеляцию epiphany, спать лег.

Дело не в настройке генты, а в том что у меня не всегда есть на это время от старта и до финиша.

windows10 ★★★★★
()

Очередной кучке гиков нечем заняться…

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

Да нет, просто судиться с nvidia никто не хочет.

но хотя бы символически натянуть их на средний палец можно?

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

Почти все твои претензии можно свести к «я хочу обратно в «айти, которое мы потеряли», носить лапти, косить косой, и усё - это файл».

а вот например разработчику софта под ембеддед

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

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

Утенок-системдёнок детектед.

Предсказуемый такой.

Кстати это еще одна проблема systemd - агрессивное насаживание, что не очень-то схоже на свободу, KISS и тд.

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

Предугадывая твои предсказуемые аргументы, сразу навожу два анекдота.

1-й. Из жизни. Фатальный недостаток systemv - его делал не редхат;

2-й. - Эх помню внучок в 1943 поймали нас немцы и поставили перед выбором, или в задницу, или расстрел. - И че было дальше, деда ? - Ой расстреливали меня внучок, четыре раза расстреливали.

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

не очень-то схоже на свободу

Да нет, ты свободен его удалить. Ну или взять сырцы и переделать как тебе хочется.

KISS

KISS никогда не был принципом построения лялекса. Да и в остальных UNIX этот принцип не применялся последние лет 40. Гигабайты баш-скриптов – это не KISS даже близко.

Если ты хочешь KISS, поставь себе UNIX v7, его относительно недавно на x86 портировали. Ну или Minix, он тоже прост как пробка.

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

Утенок-системдёнок детектед.

Так ты не ответил на вопрос: зачем тащишь зустемдэ на свой эмбеддед?

Из жизни. Фатальный недостаток systemv - его делал не редхат;

А ещё в системПять не было apt и deb. И что, теперь Дебиан виноват в NIH?

или в задницу, или расстрел

уже гомосятина пошла… Вот реально по существу нет аргументов?

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

Почти все твои претензии можно свести к «я хочу обратно в «айти, которое мы потеряли», носить лапти, косить косой, и усё - это файл».

С точки зрения дебага systemd это действительно ад и израиль. Что не отменяет годноты в некоторх вещах (декларативные конфиги топ).

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

Да нет, ты свободен его удалить.

Вот именно для таких предсказуемых и написал последний анекдот.

[root@ntfs-a320mh ntfs]# pacman -R systemd
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing systemd breaks dependency 'systemd' required by accountsservice
:: removing systemd breaks dependency 'systemd' required by at-spi2-core
:: removing systemd breaks dependency 'systemd' required by base
:: removing systemd breaks dependency 'systemd' required by bluez-utils
:: removing systemd breaks dependency 'systemd' required by chromium
:: removing systemd breaks dependency 'systemd' required by dracut
:: removing systemd breaks dependency 'systemd' required by gcr-4
:: removing systemd breaks dependency 'systemd' required by libcolord
:: removing systemd breaks dependency 'systemd' required by libgudev
:: removing systemd breaks dependency 'systemd' required by libinput
:: removing systemd breaks dependency 'systemd' required by libmbim
:: removing systemd breaks dependency 'systemd' required by libpulse
:: removing systemd breaks dependency 'systemd' required by mdadm
:: removing systemd breaks dependency 'systemd' required by modemmanager
:: removing systemd breaks dependency 'systemd>=233' required by netctl
:: removing systemd breaks dependency 'systemd' required by polkit
:: removing systemd breaks dependency 'systemd' required by rtkit
:: removing systemd breaks dependency 'systemd' required by systemd-resolvconf
:: removing systemd breaks dependency 'systemd' required by systemd-sysvcompat
:: removing systemd breaks dependency 'systemd' required by upower
:: removing systemd breaks dependency 'systemd' required by vte3
:: removing systemd breaks dependency 'systemd' required by welcome
:: removing systemd breaks dependency 'systemd' required by xdg-desktop-portal
:: removing systemd breaks dependency 'systemd' required by xdg-user-dirs
[root@ntfs-a320mh ntfs]# 

Это по-твоему свобода ? Ну тогда между выбором «отдать 200 р или получить пулю в голову» - у тебя тоже есть свобода, но ВЕСЬ мир знает что ты выберешь.

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

Это по-твоему свобода

Ставлю, что /bin/rm без проблем всё удалит. Но если ты любишь рач, то был вроде вариант рача без systemd. Artix, кажется.

https://wiki.artixlinux.org/Main/Migration

Можно даже без переустановки перейти.

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

Скажи, ЛОР, спустя 5 лет

скажу. Спустя 5 лет системд себя отлично чувствует, а фряха как была для макоси и бородатых админов в прокуренных свитерах с путти наперевес, так и.

mrjaggers
()

В systemd самая главная киллерфича - идея декларативного управления конфигурацией. Идея - огонь.

К реализации действительно зачастую есть вопросы.

Тем не менее, на типичном десктопе он работает «достаточно хорошо». Достаточно, чтобы не было нужды менять его на openrc или что-то еще.

Местные неучи и фанбои легко палятся по тупорылому заходу о «портянках на баше» и прочей «башелапше». Т.е. они банально не знают и не понимают, в чем главное преимущество ихнего якобы великого системды.

В реале - вовсе не в баше или его отсутствии дело.

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

В systemd самая главная киллерфича - идея декларативного управления конфигурацией.

Её там нет. Если ты про юниты, то их формат не сильно отличается от формата openrc. Т.е. это явно не киллерфича.

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

Ты просто не в теме.

Не в теме чего? Я писал юниты для systemd и сервисы для openrc. Одни примерно одинаковые в общем случае, если не считать синтаксис.

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

SVN конечно отстой, CVS/CVSup был намного лучше!

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

Ext3 по-своему тоже хороша и нужна. Люблю её использовать на обычных HDD.

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

epoll/kqueue на что-нить в /dev (или в sysfs если линукс)

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

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

В BSD таких людей-танков не хватает.

Matthew Dillon вполне. Но слишком умный, за ним никому не угнаться.

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

Определись уже наконец))

Тут не в чем определяться.

Всю жизнь сидел на Арче, некоторое время назад переполз на Дебиан из-за некоторых проблем с проприетарным софтом.

Решил попробовать Генту неделю назад для своих целей. Норм система, во всяком случае честно предупреждает: le perdole.

Параллельно хочу заняться разработкой некоторой недостающей гуятины для LXDE, но знаний С++ у меня нет, а питон меня раздражает, поэтому решил начать с пыха, а потом перейти на vala. Начал ставить на дебиан пыхо-библиотеки, а им все не так под Дебианом.

Вот буквально вчера вернулся на Арч, потому что там такие штуки собирать легче и он мне привычнее тупорылого Дебиана с его тупорылым dpkg.

И да, у меня мультибут, и линуксы там тоже есть.

Так что все идет по плану.

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

Параллельно хочу заняться разработкой некоторой недостающей гуятины для LXDE, но знаний С++ у меня нет, а питон меня раздражает, поэтому решил начать с пыха, а потом перейти на vala.

/me рыдает

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

Systemd это уже давно не только менеджер демонов.

Тогда о какой декларативной конфигурации ты тут пишешь? Декларативная конфигурация – это то, что в NixOS сделано. Ну и всякие Ansible/Puppet/Chef. А systemd тут никак не при делах.

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

А знаешь, ты меня убедил, игралось оно все конем.

Завтра сделаю все так, как оно должно быть: на компе нормальная платная лицензионная винда для фильмов и игорей, а работа с нормального платного макбука.

Спс)

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

Завтра сделаю все так, как оно должно быть: на компе нормальная платная лицензионная винда для фильмов и игорей, а работа с нормального платного макбука.

Может, ты ещё и забанишься тут? Мне было бы приятно.

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

Не. После установки Винды единственной ОС, сразу появилось время на машину и жену.

Все таки приятно использовать ОС, у которой нет проблем с инитами, графическими серверами, ДЕ, в общем с которой не надо пердолиться.

А самый лучший юникс с KISSом по-прежнему - MacOS =)

windows10 ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)