LINUX.ORG.RU
ФорумTalks

давайте разберемся, так ли плох systemd?

 


0

1

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

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

Update 1: пока из трех страниц треда так и не была указана киллер-фича systemd, окромя более быстрой загрузки. Если кто такую киллер-фичу знает (то есть такое, что раньше не было возможно/было возможно, но трудно), милости просим в тред.

Итоги:

Очевидные преимущества:

быстрая загрузка

systemd - это аналог xinetd, только для системных сервисов.

решение проблемы отдельного /usr и других подобных поблем с разделами на корню

решение проблемы "убегания" демонов после двойного форка с помощью cgroups.

Очевидные недостатки:

для родительского процесса с pid 1  слишком сложная => ненадежная программа.

linux only

бинарные логи (хоть и поправимо в теории)
★★☆☆☆

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

Когда твой глючнодистр глюканёт и у тебя выполнится rm -rf /usr я буду с большим удовольствием… и далее по тексту. Если у тебя в арчике линукс настолько нестабилен, то может нафиг это всё, а? :}

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

Это потому что ты костылевод. Все они запускаются при загрузке?

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

Никто у тебя возможность их запустить не отбирает, не?

загляни у себя в /etc/init.d и посмотри например crond или cpufreqd, или другое что нибудь. Ты будешь удивлен.

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

Проблема в том, что из линукса делают винду (ну или макось).

Если получится что-то похожее на mac os в смысле, что просто работает без необходимости лишних телодвижений, то это просто замечательно.

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

>загляни у себя в
>Никто у тебя возможность их запустить не отбирает

И…? Написали тут костылей.

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

Что ты имеешь ввиду под словом «Web»? Твоя фраза звучит крайне не профессионально.

Это синяя буковка е, на которую он интернет запускает.

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

много чего без костылей не пускается.

Значит оно не нужно :3

слишком толсто.

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

И…? Написали тут костылей.

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

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

Что ты имеешь ввиду под словом «Web»? Твоя фраза звучит крайне не профессионально.

Еще чуть-чуть и ты обнаружишь там сарказм.

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

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

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

Если получится что-то похожее на mac os в смысле, что просто работает без необходимости лишних телодвижений, то это просто замечательно.

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

И, кстати, если хотите как в макоси - почему бы просто не пересесть на макось?

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

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

никуда, они просто будут писать свои программы дальше. Это opensource, детка :) Тут нет Жопса, который мог бы заставить переписать программу, чтобы он была взята в Япсторе.

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

.... Или Поттеринг таки решил такую программу написать?

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

Мне не нравится, что в него хотят встроить всё на свете: и инициализацию, и udev, и ведение логов, и фиг знает, на что у Поциента дури хватит. Также не нравится DBus. Ибо init должен быть прост, как зубило, а не превращаться в хренову венду с реестром и побрякушками.

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

И, кстати, если хотите как в макоси - почему бы просто не пересесть на макось?

Там KDE не работает.

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

>Это opensource, детка :)

Поттеринг вам ещё покажет кузькину мать :}

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

Там KDE не работает.

при всем моём скептическом отношении к макоси - графическое окружение там всяко лучше kde гномов и юнитей вместе взятых.

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

графическое окружение там всяко лучше kde гномов и юнитей вместе взятых.

По качеству исполнения и безглючности несомненно да, но концептуально мне больше нравится KDE.

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

при всем моём скептическом отношении к макоси - графическое окружение там всяко лучше kde гномов и юнитей вместе взятых.

не знаю как там KDE, а LXDE рвет макось как тузик тряпку.

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

а где не раскидана по куче файлов?

В нормальных системах инициализации

один сервис/демон — один файл (в init.d или rc.d)

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

Когда твой глючнодистр глюканёт

Я не пользуюсь убунтой или федорой…

Когда твой глючнодистр глюканёт и у тебя выполнится rm -rf /usr я буду с большим удовольствием…

Когда приедут террористы и расстреляют твой комп со «сверхстабильным» дебианом…

Я тоже так рассуждать могу, ага. :)

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

что ты понимаешь под продвинутым пользователем?
что плохого для него в возможностях, которые даёт pulseaudio и systemd?
продвинутые пользователи не могут читать исходники systemd-шных сервисов?
на разных локальных белорусских линуксовках выступает вполне себе продвинутый крутой дядька, линукс мобайл энтузиаст и расказывает про возможности, которые systemd даёт
systemd-nspawn и так далее (хоть именно nspawn можно заменить и чем-нибудь другим)

ок, продвинутые пользователи, которым не нравится systemd всегда могут использовать gentoo с правильными use-флагами, slackware и так далее.
тем более, линукс уже давно система очень даже сложная, всегда можно свалить на netbsd - чем плохо, если ты продвинутый пользователь?

Deleted
()

Приведу точку зрения Федочука /*мне онакажется довольно здравой*/

...время загрузки есть объект для сравнительного измерения при форумных дискуссиях. Практический смысл его сокращения стремится к нулю. Ибо при стационаром использовании в рабочем (не развлекательном!) режиме для персонального компьютера норма — одна загрузка в сутки, а то и реже. И кустарём-надомником это время тратится на совершение утреннего туалета, а офисным работником — на обмен приветствиями с коллегами, первую рабочую сигарету etc. А старт любой более-менее современной машины, пусть и перегруженной сервисами по самые… уши, всё равно пройдёт быстрее, чем эти увлекательные занятия.

Конечно, в мобильном режиме расклад иной — классический пример с коммивояжёром, демонстрирующим свои товары потенциальному клиенту, я слышу уже лет 20 как минимум. Однако в этом случае важна не абстрактная скорость загрузки машины, а приведение её в боевую готовность — включая запуск всех необходимых приложений и их данных, причём подчас с совершенно определённого места. И потому резонные люди в таких условиях не занимаются вылавливанием лишнего стартового демона, а применяют всякого рода спящие и ждущие режимы, а также suspend to куда_нужно или куда_можно.

Возражение на счёт серверов ынтырпрайз-сферы, когда каждая секунда простоя способна принести научно-фантастические убытки, тоже старо, как мир. И столь же обосновано. Ибо если тот, чей бизнес зависит от бесперебойной работы компьютерных сетей, не озаботился заранее дублирующими серверами, резервными источниками электроэнергии и так далее, то он сам себе очень злобный буратино. Ну а при глобальных форс-мажорах, типа веерных отключений по всему штату/области/раену, как правило, не так важно, восстановится ли работоспособность одного отдельно взятого сервера через 24 часа 55 минут или через 24 часа, 55 минут и ещё 45 секунд.

В настоящее же время понятие скорости загрузки вообще утрачивает физический смысл. Это связано с постепенным распространением SDD-накопителей, по крайней мере, в качестве носителей для системы и приложений. Скорость чтения с них на порядок превышает таковую для традиционных HDD. И на этом фоне время запуска стартовых служб становится исчезающе малым.

Сужу по своему опыту. Через мои руки прошло два SSD Corsair с интерфейсами SATA II и SATA III, и выполненный в виде платы PCI-E OCZ Revo Drive. Все дистрибутивы, которые у меня были в то же время (Fedora, PCLinuxOS, openSUSE) грузились с любого из них примерно за 20 секунд — из них всё мало-мальски уловимое время уходило на поиск DNS-сервера и синхронизацию по NTP, а собственно процесс инициализации, вне зависимости от схемы её (классический init, upstart или systemd, о которых скоро зайдёт речь) занимал какие-то мгновения.

Скажу больше: нынче и с традиционного HDD система подчас грузится за меньшее время, нежели уходит на процедуру POST при включении машины — особенно на “навороченных” материнских платах. После таких наблюдений любые разговоры о “проблеме скорости загрузки” могут вопсриниматься только в юмористическом ключе.

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

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

Это всё спрашивай у тех, кто пишет systemd и юнит-файлы для него. Факт в том, что от баша в системе инициализации было решено избавиться.

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

Еще чуть-чуть и ты обнаружишь там сарказм.

И не подумаю, просто запишу тебя в дебилы. Ну или поищи тут сарказм.

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

на десктопе - возможно
на каком-нибудь embedded ещё как имеет

кстати
http://russianfedora.ru/content/Новые-возможности-для-desktop-managerов-благо...


В своей ленте Google+ он анонсировал интересный и перспективно выглядящий побочный эффект от перехода на systemd для управления пользовательскими программами - возможно перезагружать destop environment и даже заменять их без перезапуска программ пользователя. Таким образом, с systemd вы не только сможете перезапустить GNOME после установки его обновлений (если по ряду причин вы откажетесь от перезапуска компьютера целиком), но и, например, бесшовно переключаться между GNOME и KDE, а ваш LibreOffice будет продолжать работу, как ни в чем не бывало.



http://russianfedora.ru/content/montavista-будет-использовать-systemd-во-встр...

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

А теперь расскажи мне, какие именно файлы бинарные? И где в традиционной системе инициализации лежат вменяемые скрипты?

Lighting ★★★★★
()

Init простой, а systemd сложный. Сложные вещи не нужны при наличии простых альтернатив.

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

что плохого для него в возможностях, которые даёт pulseaudio и systemd?

мелкий профит от их использования не перекрывает те проблемы, которые они вызывают:

- усложняется возможность залезть под капот

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

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

если б можно было ограничиться одним чтением (ну и правкой) - проблем особо не было бы. Но нужно, повторюсь: скачать сорцы, поправить, собрать, переустановить пакет. Слишком много телодвижений.

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

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

всегда можно свалить на netbsd

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

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

на каком-нибудь embedded ещё как имеет
возможно перезагружать destop environment

Да, перезагрузка DE - это так важно для всех, кто занимается embedded.

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

LXDE рвет макось как тузик тряпку.

так тонко что даже толсто

uin ★★★
()

давайте разберемся, так ли плох systemd?

Да он плох. Причина проста: если раньше чтобы при автозагрузке что-то пускалось вполне очевидными и проверенными способами можно было это написать за несколько секунд. Теперь же нужно перелопатить талмут документации и хранить этот мусор в голове ради каких-то сомнительных преимуществ. Причем чтобы эти преимущества попытаться объяснить нужно тоже написать талмут (пример тому простыня по твоей ссылке в топике).

Естественно время на всю эту ерунду хотят тратить только особо красноглазые личности, которые, в свою очередь, перечитав всю эту воду не могут ответить на простые вопросы. Вот например сравни ответы нормальных людей, которые используют старый добрый init и инноваторов systemd: Как выполнить команду при запуске ОС?

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

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

профит ещё в том, что всё разносится по cgroups и сервисы можно ограничивать-управлять и так далее

ну так соберитесь и скажите разработчикам debian, что systemd вам не нужен
софт-то в основном кроссплатформенный, запускается под теми же bsd, так что, по идее, можно обойтись малой кровью

и gentoo, если сидеть на stable, не особенно красноглазый
проблема только в том, что апдейты ставятся дольше, чем в других системах

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

первое к embedded не имеет отношения, просто попалось под руки

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

если ты пишешь сервис, то написать systemd unit к нему, наверное, всё равно самое простое
а так что-то вроде rc.local должно ведь быть?

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

не знаю как там KDE, а LXDE рвет макось как тузик тряпку.

Скорее как чахлая лошадь леопарда.

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

В своей ленте Google+ он анонсировал интересный и перспективно выглядящий побочный эффект от перехода на systemd для управления пользовательскими программами - возможно перезагружать destop environment и даже заменять их без перезапуска программ пользователя.

Выглядит так.

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

профит ещё в том, что всё разносится по cgroups и сервисы можно ограничивать-управлять

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

ну так соберитесь и скажите разработчикам debian, что systemd вам не нужен

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

проблема только в том, что апдейты ставятся дольше, чем в других системах

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

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

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

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

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

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

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

Зачем осиливать что-то на «ажно на два печатных листа!», когда все может решиться в однострочник?

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

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

Извини, что влезаю в ваш спор. Многие здесь просто не знают насколько все может быть удобным. Зачем читать талмуд к GNOME или KDE, чтобы познать их все внутренности? Зачем изучать вообще bash чтобы пускать и останавливать бинарники? Если у systemd будет унифицированное API и кто-то (обязательно рано или поздно) напишет тулзу, которая в один «enter» позволит включать и выключать бинарники - я буду за, как и многие остальные. Как всегда, найдутся тру-люди - ага, я, например, ненавижу mc за его убогость и глюки, но я не-тру :)

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

А теперь расскажи мне, какие именно файлы бинарные?

ls /usr/lib/systemd/systemd-*

И где в традиционной системе инициализации лежат вменяемые скрипты?

ls /etc/init.d/ (или /etc/rc.d/, если у тебя арч)

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

Зачем осиливать что-то на «ажно на два печатных листа!», когда все может решиться в однострочник?

Сначала научи отличать цель от средств, а потом поговорим.

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

Зачем читать талмуд к GNOME или KDE

Ты не правильно понял. Если ты юзаешь KDE и собираешься юзать его дальше, а тут тебе подсовывают GNOME то зачем тебе читать талмуд к GNOME?

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

Зачем изучать вообще bash чтобы пускать и останавливать бинарники?

Затем, что зачастую задача не ограничивается запуском/остановом бинарника.

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