LINUX.ORG.RU
ФорумTalks

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

 


0

1

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

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

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

Итоги:

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

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

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

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

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

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

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

linux only

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

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

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

teod0r ★★★★★
()

Ничего плохо нет. Они просто опасаются, что их любимый башик выбросят из системы инициализации.

Deleted
()

http://en.wikipedia.org/wiki/OpenRC там как бы сравнение.

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

teod0r ★★★★★
()

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

Могвай же.

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

Ничего плохо нет. Они просто опасаются, что их любимый башик выбросят из системы инициализации.

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

Баш необходим же. Он позволяет гибко настраивать. Ну и самому ручонками влезть во внутренности и поправить.

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

>Баш необходим же.
4.2.

>Он позволяет гибко настраивать.
Конфиги.

>Ну и самому ручонками влезть во внутренности и поправить.
Не нужно. Тем более это write-only язык при сколько-нибудь значимом объёме кода :]

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

Баш необходим же. Он позволяет гибко настраивать. Ну и самому ручонками влезть во внутренности и поправить.

Поттеринг считает, что это ненужно.

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

Он позволяет гибко настраивать.

Конфиги.

и стартап.

Ну и самому ручонками влезть во внутренности и поправить.

Не нужно.

Мистер Джобс, перелогинтесь.

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

Баш необходим же. Он позволяет гибко настраивать. Ну и самому ручонками влезть во внутренности и поправить.

Поттеринг считает, что это ненужно.

ну так вот и хотелось бы узнать, в какой мере systemd урезает возможности самостоятельного костылестроения.

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

>и стартап.
Что?

>Мистер Джобс, перелогинтесь.
Тихо тут. С того света писать можно только инкогнито. Руками лезть в скрипты инициализации это задача разрабов, а они могут и в исходники посмотреть. А если система требует этого… ну, ты понял :}

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

Web - это не системообразующая штуковина.

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

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

Ололо.

dikiy ★★☆☆☆
() автор топика

systemd плохо тем, что это бинарный велосипед. Есть система инициализации как в CRUX, почему бы не оставить её?

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

systemd плохо тем, что это бинарный велосипед. Есть система инициализации как в CRUX, почему бы не оставить её?

но он же фактически только создает «липовые» точки соединения сервисов. А сам страт может выполнятся и скриптами. Или я ошибаюсь?

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

в какой мере systemd урезает возможности самостоятельного костылестроения.

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

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

и всё это вместо одного внятного инит-скрипта, тебе не достаточно?

если ты имеешь в виду rc.sysinit, то конкретно этот скрипт менять обычно не приходиться. Если проблема лишь в нем, то я не считаю, что это слишком плохо.

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

но он же фактически только создает «липовые» точки соединения сервисов.

«Только»? Тебя кто-то обманул.

так написано в сабжевой статье.

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

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

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

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

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

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

Даже в первой части статьи 2-летней давности написано гораздо больше.

там написано про autofs и липовые сокеты. Ничего особо страшного нет.

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

>При этом отдаляя таким образом от пользователя продвинутого.
>Если что - я не считаю нужным (даже для продвинутого юзера) лезть ковыряться в системе на каждый чих. Но возможность _просто_ это сделать должна быть.

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

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

Ничего особо страшного нет.

А ты ищешь фразы «systemd ест маленьких детей»?

нет. просто в том, что я увидел нет ничего страшного. Очень интересный проект. Трабл лишь в том, что если systemd сделан лишь для ускорения страта, то цель не оправдывает средства. слишком много ломает. Проще пилить tuxonice.

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

если ты имеешь в виду rc.sysinit

Я имею в виду, что если от скрипта требуются действия более сложные, чем «запустить этот процесс при запуске, кильнуть при остановке», то в systemd всё это засунуто в скомпилированный бинарник, а в service прописано только

ExecStart=/usr/lib/systemd/первый-systemd'шный-костыль
ExecStop=/usr/lib/systemd/второй-systemd'шный-костыль
AX ★★★★★
()
Ответ на: комментарий от dikiy

просто в том, что я увидел нет ничего страшного.

Прочитай всю статью и подумай. Потом сравни размеры sysvinit и systemd.

Очень интересный проект.

Интересный в плане «как один мудак может разозлить пол-мира и кто за ним стоит».

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

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

угу, а потом сделать патч, сделать новый .src.rpm/PKGBUILD, заново собрать и накатить на систему, а потом ждать, когда это все с очередным обновлением сломается. Это нормально что ли?

Да и тем более не всякий продвинутый пользователь является майтейнером пакетов и в состоянии без проблем сделать .src.rpm, не говоря уже о том, чтобы править сырцы

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

Продвинутый сэр не может скачать исходники

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

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

они ограничены тем, что впихнули разрабы

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

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

Я имею в виду, что если от скрипта требуются действия более сложные, чем «запустить этот процесс при запуске, кильнуть при остановке», то в systemd всё это засунуто в скомпилированный бинарник, а в service прописано только

ExecStart=/usr/lib/systemd/первый-systemd'шный-костыль

ExecStop=/usr/lib/systemd/второй-systemd'шный-костыль

так никто ж не мешает прописать

ExecStart=/etc/rc.d/mpd start

например.

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

если systemd сделан лишь для ускорения страта, то цель не оправдывает средства

именно, а другого профита я для себя не вижу (хотя у меня и так всё быстро стартует, тем более, что hibernate/suspend рулят)

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

Прочитай всю статью и подумай. Потом сравни размеры sysvinit и systemd.

если проблема лишь в размерах, то я - за.

Прочитай всю статью и подумай.

я б тему не создавал тогда.

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

Да да, лучше мы будем писать скриптоту на write-only языке копипастой. Хороший, годный линупс, да.

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

так никто ж не мешает прописать

Так никто не будет делать.

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

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

Да да, лучше мы будем писать скриптоту на write-only языке копипастой. Хороший, годный линупс, да.

Да, лучше. У меня на баше около полусотни самописных скриптов.

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

«Лучше перлов» это где-то на уровне плинтуса. Как бы лучше, а толку? :}

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

ExecStart=/usr/bin/mpd или оно без костылей не пускается?

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

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

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

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

лучше мы будем писать скриптоту на write-only языке

Если у вас на баше получается write-only - это сугубо ваши личные проблемы.

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

Локальную репу создать минутное дело.

Когда твоя поттерингоподелка глюканёт и у тебя останется только загрузка через init=/bin/bash (про сеть и прочее я молчу) или просто потребуется СРОЧНО поменять что-нибудь в инициализации какого-либо демона, я буду с большим удовольствием смотреть, как ты пытаешься нагуглить исходники, создаёшь свою локальную репку… :D

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