LINUX.ORG.RU
ФорумTalks

Популярно про systemd и Леннарта Поттеринга


4

3

После нескольких обсуждений и многочисленных критических высказываний в адрес systemd, у меня сложилось впечатления, что не все понимают в вопросе, о котором спорят. Как правило, против Поттеринга приводятся несущественные аргументы или эмоции, тогда как все аргументы уже давно им были высказаны безаппеляционно и по-существу (http://0pointer.de/blog/projects/why.html). Остановимся вкратце на killer-фиче «Socket-based Activation».

Традиционно в sysvinit извещение init о готовности сервиса был организован с помощью fork. Возьмем для примера rsyslogd и посмотрим, что происходит при его загрузке.

1)Init запускает bash, bash интерпретирует файл /etc/init.d/rsyslogd

2)Запускается бинарный файл /usr/sbin/rsyslogd

3)rsyslogd инициализирует себя, и в момент готовности к работе он делает fork. С этого момента вся деятельность происходит в дочернем процессе, а родительский немедленно умирает. Это делается для оповещения процесса bash, ожидающего возврата управления.

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

Системный вызов fork — один из самых затратных в ядре, поскольку, не смотря на copy-on-write, для дочернего процесса копируется практически все. Использование его всего лишь для оповещения — это как стрельба из пушки по воробьям. Здесь как нельзя лучше подходит выражение «broken by design». Такой способ запуска демонов считается классическим. Unix-way никто не отменял, просто глупо холить и лелеять подобные дурацкие традиции.

В systemd пункт 1 отсутствует полностью, а вместо fork() используется простая и незатратная посылка сообщения через сокет с помощью sendmsg.

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

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

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

это часть проблемы, и её понимают также и в мысы. В целом проблема несколько глобальнее - дело всё в том, что когда-то решили, что на ПК раздельные песочницы для приложений не нужны. И выкинули их. А сейчас стали таки нужны, но в систему их не ввести, рухнет ВСЁ, но и сторонние костыли (песочницы и антивирусы) неэффективны.

Суть в том, что Леннарт тоже хочет сделать нечто подобное для загрузки, последствия будут скорее всего идентичными... Всё правильно делает - скоро делать нечего уже будет программистам. А вот писать (анти)вирусы можно бесконечно. А антивирусы можно и продавать... Такие дела...

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

Ну извини — сообщество разработчиков линукса перешло на systemd

Патрег смотрит на тебя осуждающе...

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

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

скорость же!

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

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

внезапно Arch Linux перешёл на systemd полностью

Что все 3 пользователя арча перешли?

Я говорил о популярных дистрибутивах коими являются Ubuntu и RHEL

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

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

Подключили, перезагрузились - ок, вот вам CUPS.

//fixed

тоже с флешкой...

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

про модули забыл.

Не забыл. kernel.old - это директория с ядром и модулями.

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

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

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

Конечно. Отсутствие поддержки systemd будет свидетельствовать об отсталости их разработчиков.

Естественно. Если кто-то не захочет тащить в систему поделие, несовместимое с *bsd и имеющее бинарные логи, в состав которого входит (sic!) генератор QR-code, это 100% отсталые разработчики. Да.

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

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

На внешность я ложил, а его идеи о том что *bsd не нужны и ваще linux-only меня пугают. А ещё больше меня пугает желание большинства притащить этот сраный systemd в дистрибутив.

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

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

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

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

Ну охренеть теперь, минус двадцать форков при старте системы. Линукс готов для десктопа.

Загрузи систему, запусти какой-то процесс и погляди его PID. Если бы 20...

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

меня systemd устраивает всем, кроме journald. Если бы его сделали отрываемым - я был бы счастлив.

+1

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

А можно поподробнее?

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

А их достаточно, чтобы отказаться от сего поделия (!UNIXway,!KISS).

Почти любое упоминание KISS и Unix-Way на этом сайте - демагогия или тупняк.

Каждое решение имеет свою сферу применения. Говорить «Unix-Way рулит» или «комбайны рулят» могут только умственно отсталые.

Для решения жестко отпеределенной задачи, комбайн, заточенный под нее, всегда будет лучше во всех аспектах. Но для этого комбайн должен быть заточен под задачу, а это случается, когда задача - общего плана и с минимумом вариаций. init подходит под это определение. Нет, я не фанат journald и не в восторге от запихивания QR кодов в systemd. Я только лишь говорю, что для конкретной задачи (init) Unix-Way нахер не нужен.

Pavval ★★★★★
()
Ответ на: fixed for greate justice от beastie

ибо все почему-то забывают, что systemd — это linux-only-way, не компатибельный с другими *nix системами.

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

это приведёт или к полной изоляции linux или к куче форков, что опять приведёт к полной изоляции linux.

Учитывая популярность Linux относительно других Unix систем, это приведет в изоляции этих систем, а не изоляции Linux. И форков Linux тоже не предвидется.

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

а его идеи о том что *bsd не нужны и ваще linux-only меня пугают

А зачем они нужны? Не, троллинг в сторону. Какие аргументы?

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

А зачем они нужны? Не, троллинг в сторону. Какие аргументы?

Затем что *bsd - это свободная от Леннарта среда, где /sys всё ещё ссылка на каталог с исходниками ядра, а помойка не начинается с /.

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

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

Ахаха, +1, посмеялся :)

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

Именно так. В полной новости среди проблем с PulseAudio говорилось то, что не работает микрофон.

ZenitharChampion ★★★★★
()

Судя по количеству топиков про Поттеринга - у злобствующих наблюдается маниакальное латентное влечение к этому человеку и зависти к его успеху :-)


Фууххх , выдохнул!


ну заказали большие ынтырпрайзы РедХату систему загрузки с блек-джеком и шлю QR-кодом, вот и надрывается.

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

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

Загрузи систему, запусти какой-то процесс и погляди его PID. Если бы 20...

Бугага. И эти люди еще рассуждают о демагогии и тупняке... Интересно, поцеринг тоже считает процессы по их PID?

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

фапая на загружающийся сервак

А на фейхоа ты его выключал?

Eddy_Em ☆☆☆☆☆
()

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

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

зачем иметь более одной открытой операционной системы общего применения

Затем, что у каждого свое видение того, что является лучшим.

Говорить «Unix-Way рулит» или «комбайны рулят» могут только умственно отсталые.

Unix-way заключается не только в «создавай программы, которые будут делать что-то одно, но делать это хорошо.», но еще и (помимо всего прочего) в портируемости программ. Systemd наглухо прибит к ядру Linux.

Нет, я не фанат journald и не в восторге от запихивания QR кодов в systemd.

И при этом любишь комбайны? Просто феерично!

Deleted
()

У Поттеринга в google+ есть такая запись в разделе о себе:
Went down the world's most dangerous road, on a bicycle
Тут определенно какой-то тонкий намек )

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

Затем, что у каждого свое видение того, что является лучшим.

Виденье - это отлично. Только это ни о чем. Чем конкретно лучше? Без пустых слов, высокодушевных ощущений и подобного - факты и только, ок?

Unix-way заключается не только в «создавай программы, которые будут делать что-то одно, но делать это хорошо.», но еще и (помимо всего прочего) в портируемости программ. Systemd наглухо прибит к ядру Linux.

Необходимость других unix-систем пока в этом треде не обосновали. А вот Unix-way никогда не заключался в портируемости. Не нужно подменять понятия.

И при этом любишь комбайны? Просто феерично!

Я уже писал, что «любить» комбайны или unix-way могут только идиоты. Каждому случаю - свой подход.

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

Затем что *bsd - это свободная от Леннарта среда, где /sys всё ещё ссылка на каталог с исходниками ядра, а помойка не начинается с /.

Ни о чем. Ни единого аргумента. Тебе сильно легче от /sys? Это делает твою жизнь счастливой, а волосы - шелковистыми?

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

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

Какие факты? О чем? О том, что у каждого есть свое видение? Или в твоей голове просто вспыла какая-то тема, о которой никто даже и не имел ввиду?

Я уже писал, что «любить» комбайны или unix-way могут только идиоты. Каждому случаю - свой подход.

Именно поэтому ты восхваляешь systemd-комбайн, но при этом ссылаешься именно на недостаток, свойственный комбайнам (прибитый journald и прочее)?

Необходимость других unix-систем пока в этом треде не обосновали.

А должны были? Это опенсурс, детка — тут тебе никто НИЧЕГО не должен.

А вот Unix-way никогда не заключался в портируемости. Не нужно подменять понятия.

Жертвовать производительностью ради переносимости — один из основопологающих принципов Unix-way.

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

Я говорил о популярных дистрибутивах коими являются Ubuntu и RHEL

Во-первых - к логопеду, во-вторых - RHEL не является популярным дистрибутивом. Шиндовс XP является самым популярным дистрибутивом, и что? Всем срочно бежать ставить? Systemd используется дефолтно в Fedora, *Suse, Arch, Mageia и недефолтно в куче других. Так что это не хеллоуворд, используемый двумя школьниками.

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

Жертвовать производительностью ради переносимости — один из основопологающих принципов Unix-way.

Ты так говоришь, будто systemd не заведется на ARM/MIPS :]

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

Дженнифер Лопез не лицом славна.

А me gusta.

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

А пока разбираемся - работает резерв.

и в это время резерв падает по тем же причинам ...

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

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

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

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

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

У этих всех «Unix» подобных ОС из подобия только / в путях файлов. Впрочем, unit формат вполне себе кроссплатформенный в любом понимании :]

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

Я лично вообще не понимаю, зачем иметь более одной открытой операционной системы общего применения

застой и диктатура? одна такая система уже есть — windows называется, но тут его почему-то все очень не любят. «на вопросы нужно смотреть ширше».

Учитывая популярность Linux […]

да нет, будет lennart-linux, который сам по себе и десяток других независемых систем, которые могут обмениваться кодом и идеями.

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

Во-первых - к логопеду

А вам к мозгоправу.

RHEL не является популярным дистрибутивом.Шиндовс XP является самым популярным дистрибутивом

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

Первый раз слышу что Windows это линукс! Может на дистровоче покажете?

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

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

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

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

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

Зависит от работы.

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

Первый раз слышу что Windows это линукс! Может на дистровоче покажете?

У тебя голоса в голове?

Т.е. если работать не нужно, то можно с федорой или арчем на сервере и десктопе трахаться.

4.2 Да, макском и куча хостеров идиоты или просто забыли спросить тебя.

Именно «хеллоуворд, используемый двумя школьниками»

Месье покажет пример своих проектов, которые могли бы тягаться с этими «школьниками»? Не, не слышал? Тогда прекращай треп.

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

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

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

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

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

ну да, инициализировать железяку - это мгновенно(особенно удалённую). А вот парсить ОДНУ строчку на этом вашем bash - три года ждать..

ты не понял о чём речь. В ТС написал что теперь меньше форков нужно. Но основные тормоза не ими вызваны.

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

не осилил aptitude и теперь у тебя убунта в чем-то виновата?

расскажи как ты осилил aptitude. Или ты там мышкой по пакетам тыкаешь и это называешь осиляторством?

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

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

Если для работы нужны два с половиной пакета то лучше собрать их самому, если для работы нужно полдебиана, то сначала нужно найти такую работу :-)

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

расскажи как ты осилил aptitude. Или ты там мышкой по пакетам тыкаешь и это называешь осиляторством?

aptitude, как ни странно, позволяет сделать почти то же самое, но без кучи пайпов и вызова sed/grep/awk/perl/python/etc и даже без любимой тобой мышки.

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

не знаю, что там умеет или не умеет убунта, в debian испокон веков существует файл /etc/apt/apt.conf.d/01autoremove, в котором говорится, что ядра и модули удалять автоматически не надо.

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