LINUX.ORG.RU
ФорумTalks

За что на самом деле ненавидят systemd и Co

 


1

3

Рекомендуется к ознакомлению: http://habrahabr.ru/post/176571/

Выжимка для Ъ: ругают часто изменяющийся интерфейс, что приводит к необходимости каждый раз пересматривать способы решения своих задач пользователями. В качестве положительного примера приводится CLI Unix.

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

А все прочее - монолитность, лапшеобразный код и т.п. - это вторично.

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

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

Это к слову о unix-way:

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

А вот если бравые, знающие bash админы настроили в инит-скриптах свой дивный новый мир, который и кофе варит и новости читает, то да, возникают сложности.

Потому что системд - это всё-таки система инициализации. И в общем приучает к тому, чтобы не совать скрипты куда попало.

Для «генту»-админов это наверное проблема.

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

Проблема не в них, а в разработчиках, усложняющих сверх меры.

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

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

/etc/init.d/tomcat restart
service restart tomcat
systemctl restart tomcat

Ну и в чем тут принципиальная разница?

в том, что правильно будет так:

systemctl restart tomcat.service

и набирать такое гораздо сложнее, т.к. часто автодополнение отключено.

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

Конкретнее. С какими параметрами?

Да с любыми. У вашего любимого systemd все вызовы setfont, loadkeys и иже с ними захардкожены в systemd-vconsole. Следовательно для любого изменения дефолтного алгоритма нужно а) найти исходники (будем считать, что юзер уже знает, где именно вызываются вышеуказанные утилиты), б) пропатчить их и в) скомпилить.

В инитскриптами же достаточно просто поменять пару строчек.

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

в том, что правильно будет так:
systemctl restart tomcat.service

systemctl restart tomcat

Так тоже можно.

часто автодополнение отключено

Зачем?

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

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

С таким подходом и init-скрипты монолитные.

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

Какого алгоритма? Ты там вроде как init-скрипты в арчике поддерживаешь, на адекватность претендуешь, а на простой вопрос ответить не можешь.

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

на адекватность претендуешь

Человека, ненавидящего сабж, всего с тремя избранными тегами «eudev, systemd, поттеринг» адекватным назвать сложно.

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

За то, что обнажил убогость модели разработки Slackware, Arch'а и Gentoo.

а что в ней такого «убогого»? Просветишь?

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

вика как всегда жжёт:

launchd — система инциализации системы с открытым исходным кодом, используемая в ОС Mac OS X. Процесс имеет PID 1 и занимается тем, что запускает другие процессы и перезапускает их в случае сбоя, то есть выполняет функции init в Linux. Также исполняет обязанности cron. Процессы, запускаемые после запуска системы до входа в систему, записываются в каталог /Library/LaunchDaemons. Процессы, запускаемые после входа в систему — в каталоге /Library/LaunchAgents. В этих каталогах создаются файлы с xml-содержимым, которые управляют запуском процессов. Launchd — ещё одна причина быстрой загрузки Mac OS X.

ещё одна

как будто выше было уже Over9000 первых…

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

Этим «плюсом» обладает абсолютно любая технология. Но мир-то не стоит на месте.

в слаке эта система с 1993го года работает. Скоро уже 20 лет будет. И работает хорошо. Зачем её менять?

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

Суди сам.

дык конфиг типа key=value жёсткий, и не расширяемый. Одно из двух: либо фичи будут в сам systemd встраивать, что меня не обрадует (что, форкать его из-за какой-то ерунды на одном из серверов?!), либо вклячут туда какую-нить Lua(или опять bash, ибо key=value оно тоже умеет).

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

а на простой вопрос ответить не можешь.

Пфф, ну лично мне нужно указать свою высоту шрифта (через -h). Есть у vconsole.conf такой параметр?

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

Человека, ненавидящего сабж

Не ненавидящего, а не воспринимающего всерьёз. :)

всего с тремя избранными тегами «eudev, systemd, поттеринг»

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

AX ★★★★★
()

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

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

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

моя rss-читалка утонет в море мусор

А по тегу поттеринг, полагаю, в рсс попадает только необходимое.

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

А по тегу поттеринг, полагаю, в рсс попадает только необходимое.

А по тегу поттеринг создаётся максимум 4-5 тем в день. Для меня это приемлемо.

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

Отключаешь systemd-vconsole-setup.service и пишешь service-файл, в котором вызываешь setfont с теми параметрами, которые тебе нужны. Где перекомпиляция?

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

но тем не менее ты ее не юзал, я прав?

не угадал. Юзал iMac. Пытался даже как-то разобраться с процессом загрузки, но не осилил (оно через раз грузилось нормально, а через раз грузилось минут 10..20). Что-то там сломалось, не знаю что. Больше мне такого счастья не надо.

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

systemd долго вообще не адаптировали, а потом взяли и начали тестировать прямо на пользователях, шутить шутки с eudev. В opensuse культурно разрабатывали в готовящемся релизе (ЕМНИП 11.3), а потом взяли и перенесли на 12.1 из-за нерешённых проблем. В 12.1 уже сделали по дефолту, но добавили опцию загрузки с init прямо в загрузчик.

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

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

Отключаешь systemd-vconsole-setup.service и пишешь service-файл, в котором вызываешь setfont с теми параметрами, которые тебе нужны. Где перекомпиляция?

Угу, потом ещё написать сервис для loadkeys. Потом ещё два часа сношаться с неработающими юникодными шрифтами и наконец заметить во vconsole-setup.c некий магический код (к слову, в исходниках systemd он никак не прокомментирован) для настройки tty и написать третий сервис! Кстати, средствами юнитов тут не обойдёшься, поэтому придётся ваять скрипт…

Да здравствует занимательное велосипедостроительство! :)

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

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

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

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

Мне то там все скрипты понятны, что мне туда смотреть то опять?

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

Знаешь, я не очень понимаю ход твоих мыслей. Хотел вызывать setfont с различными ненужными параметрами - пожалуйста, хотел вызывать loadkeys - пожалуйста. Но

два часа сношаться с неработающими юникодными шрифтами

причем здесь systemd?

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

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

Systemd обвиняют ровно по тем же причинам, по которым когда-то обвиняли pulseaudio.

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

В конечном итоге все закончилось хорошо, но кривов было море.

Сейчас ситуация повторяет ровно по тому же сценарию. Есть старая система инициализации, которая имеет проблемы, но работает. И есть новая система инициализации, которая имеет ворох косяков, но потенциально лучше чем старая.

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

В конечном итоге все закончилось хорошо

Еще не закончилось, еще не хорошо.

есть новая система инициализации, которая имеет ворох косяков, но потенциально лучше чем старая.

Как systemd-фанбои не поймут - нет «новой системы инициализации». Есть невнятная монолитная хрень, которая проходит под псевдонимом Core OS. И, как и полагается _OS_, она становится необходимой (в смысле «ее нельзя обойти, если ты хочешь сделать работу»).

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

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

слака-то тут причём? Здесь нет никакого systemd, и Патрег вводить его не планирует.

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

В конечном итоге все закончилось хорошо, но кривов было море.

ЧСХ, в слаке его до сих пор нет, даже в тестинге. Выходит, что какой-то кардинальной необходимости и не было никогда. Не?

И есть новая система инициализации, которая имеет ворох косяков, но потенциально лучше чем старая.

что хорошего в pulseaudio - я понимаю. Не дурак. Что хорошего в systemd - власти скрывают. Как инопланетян, ZOG, и реальную оппозицию правящему режиму.

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

pulseaudio тогда имело ворох проблем, например с производительностью

да оно и сейчас проц кушает подозрительно сильно, при просмотре фильма мплеером или лосслессе через говядину - 5-7% от одного ядра i3 540 - многовато как-то, хотя мне и не жаль, но непонятно, что оно там так активно процом делает.

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

Меня systemd устраивает. Я отношусь к нему не как к init'у, а как к системному демону (что следует из его названия). А услышать хочу аргументацию вот этого:

Есть невнятная монолитная хрень, которая проходит под псевдонимом Core OS. И, как и полагается _OS_, она становится необходимой (в смысле «ее нельзя обойти, если ты хочешь сделать работу»).

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

Что хорошего в systemd

Лично для меня - простые, человекопонятные и дистронезависимые сервисы вместо спагетти-кода инит-скриптов, которые надо велосипедить для каждого дистра, всех его форков и форков его форков индивидуально. Это шаг вперед.

Следующим шагом вперед было бы запиливание общего формата пакетов. Заметь - я сказал о формате пакетов, а не о пакетном менеджере.

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

потому-что есть недостатки

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

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

Лично для меня - простые, человекопонятные и дистронезависимые сервисы вместо спагетти-кода инит-скриптов, которые надо велосипедить для каждого дистра, всех его форков и форков его форков индивидуально. Это шаг вперед.

это шаг назад. В релизе это будет ППЦ. Мало того, что само по себе ППЦ, дык ещё и ППЦ по прикручиванию к каждому конкретному дистру.

Это только сейчас Поцтерингу достаточно key=value.

Следующим шагом вперед было бы запиливание общего формата пакетов. Заметь - я сказал о формате пакетов, а не о пакетном менеджере.

тебе что, МАЛО?

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

В релизе это будет ППЦ

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

тебе что, МАЛО?

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

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

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

Основной вопрос для меня: а что делать, если оно ВНЕЗАПНО не работает? Сейчас для меня всё очевидно - просто запуск команд (к каждой можно ман поглядеть), и тупо их выполнение. Ничего не мешает воткнуть отладочную печать, остановку в любом месте, и что угодно ещё. А что делать с systemd? Пересобирать? На нерабочей системе?! Читать обфусцированные сырцы от red-hat?? Там и так Over9000 строк сейчас… Или как маздайному дурачку предложишь поискать в гугле код списанный с BSODа??

drBatty ★★
()

что они разрушают привычный всем способ взаимодействия с системой

Ну да. В каждом дистрибутиве свой привычный способ взаимодействия с системой. И никого это не парит

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

услышать хочу аргументацию вот этого:

Есть невнятная монолитная хрень, которая проходит под псевдонимом Core OS. И, как и полагается _OS_, она становится необходимой (в смысле «ее нельзя обойти, если ты хочешь сделать работу»).

Аргументацию чего - того, что хрень невнятная? У нее нет ни заявленной, ни выводимой из поведения цели (добавление раскладок клавиатуры - это вообще финиш). Того, что хрень монолитная? Посмотри на ее дерево исходников и на объем функциональности (некоторые назовуь это feature creep). Что она становится необходимой? Посмотри, сколько служб ОС она уже в себя вобрала.

tailgunner ★★★★★
()

Молодцы что составили список. Лично я аргументы против набирал в комментариях на LOR и Opennet, а чтобы из одного места - не знаю.

Дополнено: прочитал. Ты наврал, там не про systemd.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.