Синекдоха отвечания - Рискуя быть поругаем нецензурно

Dec. 14th, 2013

10:57 am - Рискуя быть поругаем нецензурно

Previous Entry Add to Memories Tell A Friend Next Entry

Как красноглазый йожыг - очень осторожно - попробовал взлететь с systemd (проапгрейдил Arch до 13.12).

И совершенно, честно говоря, не понял, за что его так матерят. Аналогия очень простая: всю жизнь ездили на паровозе, дышали дымом, отмывались от сажи, но ничего другого не было. Теперь нам предлагают электровоз, которые едет быстрее, дальше, не коптит и не жрёт уголь тоннами. Казалось бы - чего плохого-то? Но нет, оказывается, изобретатель электровоза - пидорас, потому что перед этим в припадке мизантропии изобрёл квадратное колесо и продал его РЖД, которая моментально установила его на все поезда. И поэтому мы и дальше будем задыхаться в угаре и до седьмого пота шуровать лопатой, но ни пяди родной земли врагу не отдадим.

То есть насколько я могу видеть, главная претензия не к самому systemd, а к Поттерингу и РедХату, который впарил всем пресловутый PulseAudio. Глупо. Systemd - довольно изящное, понятное и лаконичное решение в духе KISS. Не даром арчеводы первыми подсуетились из независимых.

Tags: ,
(39 напихо | Прорубоно)

Comments:

[User Picture]
From:[info]steinkrauz
Date:December 14th, 2013 - 12:45 pm
(Link)
Только не alsa, a pulseaudio, судя по контексту
(Reply to this) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 14th, 2013 - 01:03 pm
(Link)
Да.
(Reply to this) (Parent)
[User Picture]
From:[info]sashnik
Date:December 14th, 2013 - 01:14 pm
(Link)
да ну говно этот системд!
бинарные логи, бинарные конфиги, непортабельность на нелинукцы, мудовый подход "всё в одном", и самое главное -- sysvinit не сломан, и нехуй его чинить.
системды, конечно, бутится ок, чоб ему не бутиться, но случись глюк -- искать и фиксить посинеешь. убунтов апстарт -- и то лучше.
(Reply to this) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 14th, 2013 - 01:29 pm
(Link)
Ну какие в жопу бинарные конфиги, ну что вы все блядь несёте? Запускалки - да, бинарные, и хуй бы с ними.
(Reply to this) (Parent)
From:[info]roignac [launchpad.net]
Date:December 14th, 2013 - 01:22 pm
(Link)
Что забавно, все боялись pulseaudio из-за того что в Убунте он "шипел" и "падал". Потом пофиксили (даже убунтовцы) но старожилы всё пугали всех сказками о "глюках" и "не unix-way"
(Reply to this) (Thread)
[User Picture]
From:[info]ketmar
Date:December 14th, 2013 - 05:29 pm
(Link)
отучаемся, блядь, говорить за всю сеть.
(Reply to this) (Parent) (Thread)
From:[info]roignac [launchpad.net]
Date:December 14th, 2013 - 06:34 pm
(Link)
Дедушка-пидараааааааасы, слушайте свои валенки
(Reply to this) (Parent)
[User Picture]
From:[info]polytheme
Date:December 14th, 2013 - 02:11 pm
(Link)
а как узнать, у меня systemd или нет ? у меня убунта 13.10
(Reply to this) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 14th, 2013 - 02:15 pm
(Link)
У тебя upstart.
(Reply to this) (Parent)
[User Picture]
From:[info]ketmar
Date:December 14th, 2013 - 05:41 pm
(Link)
за то, что это уёбищное недокументированое монолитное уебанство. с изначально отсутствующей архитектурой и совершенно неоднозначными ключами. например, runafter (если верно помню) — это «какой сервис запустить после нас», или «запустить нас после этого сервиса»? неизвестно, и догадаться невозможно (потому что «консистентности» в именованиях нет вообще). можно только зубрить документацию.

ну и да: «separate usr considered broken». спасибо, чуваки. почему-то мой инит не диктует мне, как строить систему, а подстраивается под подстроеную. идите нахуй. и системды с собой возьмите.

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

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

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

короче. когда мне понадобится винда — я знаю, где её купить. а косоуёбищная недовинда в пингвинусе мне нахуй не нужна.

и нет, системды — не kiss, системды — это pita.
(Reply to this) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 15th, 2013 - 09:17 am
(Link)
Проблема с /usr решается на раз статической сборкой systmd с libdbus (в Gentoo - соотв. USE-флаг в package.use).

Монолитность - это скорее хорошо, чем плохо. И если такую небольшую цену я плачу за принципиальное отсутствие зомбей, то я согласен.

Консистентность есть, если хоть немного знать английский. runafter - это то, что за чем я буду запускаться. Там принцип очень простой, если я правильно всё понял: systemd смотрит иерархию запуска сервисов, и создаёт на месте тех, которые прописаны в runafter сокеты, как будто они уже запустились, а потом стартует все сервисы одновременно. Это охуенно вообще на самом деле.

Про сислог - сами себе злобные буратины. Кстати, ничего не мешает его использовать вместе с systemd. Я например так и сделал.

В общем я в системд пока особого криминала не вижу. Если бы в винде было что-то хотя бы минимально похожее - цены бы ей не было.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 15th, 2013 - 10:34 am
(Link)
>а принципиальное отсутствие зомбей
полное непонимание того, что есть «зомби» детектед.

>Консистентность есть, если хоть немного знать английский
нет, нет. поковыряйся — поймёшь.

>Если бы в винде было что-то хотя бы минимально похожее
прикинь, есть. сама винда. точнее, её service manager — точно такая же поеботина.

>статической сборкой systmd с libdbus
дбас. в ините. ну, охуеть теперь.

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

а лучше — если уж так охота — пойти на upstart. потому что в системды единственный ответ, который ты получишь на вопрос «я хочу странного. как?» будет: «тебе это не надо, иди нахуй».
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 15th, 2013 - 11:11 am
(Link)
> полное непонимание того, что есть «зомби» детектед.
Системд следит за сервисами, в общем, я хотел сказать.

> нет, нет. поковыряйся — поймёшь.
Поковырялся. Продолжает нравиться. Наверное у меня мозг неправильно работает.

> прикинь, есть. сама винда. точнее, её service manager — точно такая же поеботина.
Ну я бы не сказал. В винде всё совсем плохо.

> дбас. в ините. ну, охуеть теперь.
Не весь дбас, а одна либа, именно её ему и не хватает, если /usr монтируется с отдельного тома. Зато можно запускаться вообще без initrd, и монтировать свой /usr хоть к марсианской треноге.

> шаг влево-вправо — это пиздец. просто пиздец.
Ну ты странный. ты ругаешься на ламеров, у которых из-за кривых рук init виснет, и предостерегаешь меня подходить к systemd только с прямыми руками (потому что всё, о чём не подумал Леннарт, находится за рамками документации). Так мы кривые руки прощаем, или всё-таки пытаемся их последствия ограничить?

> пойти на upstart
Убунту не люблю. Ну вот не лежит душа. Вообще к дебианообразному не лежит, а тут ещё и как-то по-особенному.

Я Gentoo люблю, но мне работать надо, а не мир пересобирать сутками. Поэтому Arch или Слака. На работе - слака (исторически сложилось, ещё с 1996 года у меня везде на рабочих компах слака). Дома сейчас Арч. Устраивает полностью. Я ещё не придумал, как мне это всё сломать. Ну просто не придумал, если специально не делать sudo rm -rf...
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 15th, 2013 - 11:25 am
(Link)
>Системд следит за сервисами, в общем, я хотел сказать.
и делает это — как и всё остальное — очень хуёво.

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

>В винде всё совсем плохо.
ровно так же, как и в системды. системды — это калька с scm и event log.

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

>и предостерегаешь меня подходить к systemd только с прямыми руками
прямота рук не имеет никакого отношения к тому, что системды недиагностируем. вообще. никак.

>Убунту не люблю.
ты удивишься, наверное, но апстарт вовсе не завязан на убунту. совсем. я ради интереса его себе в слаку затаскивал — получилось. причём без проблем: собрал, прописал строку в grub, добавил несколько тасков, ребутнулся. всё. мне он просто не нужен, иначе бы оставил. (ну ладно, «несколько тасков» — это barely working system. но тем не менее)

кстати, апстарт можно использовать и не как инит, а как просто service manager. он — в отличие от системды — не хочет быть Самым Крутым Парнем На Селе.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 15th, 2013 - 01:47 pm
(Link)
А как ты init собрался каждый день использовать? Настроил один раз, и всё. Или ты постоянно серыисы дёргаешь?
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 15th, 2013 - 01:54 pm
(Link)
>А как ты init собрался каждый день использовать?
ровно так, как и использую: он живёт.

и да: управление сервисами — не задача инита. от слов «нихуя ваще». инит должен быть маленьким, неубиваемым и молча поедать сирот. всё. а, ещё запускать один стартовый скрипт. любой, кто пытается запихать в инит что-то ещё, должен быть нахуй распилен. ржавой тупой ножовкой. на 100500 кусочков. его семья, родственники, дети и внуки тоже — чтобы не размножились случайно.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 16th, 2013 - 04:25 am
(Link)
Тогда единственно верный выбор - это CRUX. Там init вообще охуенный.

А ещё я знаю пару ребят, которые на фре сидят до сих пор. Потому что гладиолус.

Я считаю, что если init не может поднимать и убивать сервисы on-demand (т.е. когда я вставляю и вынимаю устройства на ходу) без всяких костылей типа hotplug, то это не init, а жопа.

Вот тебе пример. Только что. У меня всю дорогу была проблема с JACK, который зависит от кучи аудиосервисов, и стоит оторвать от компа какой-нибудь Еdirol или присобачить лишний Protools, как что-то обязательно не поднимется, и JACK отваливается. С systemd он прекрасно запускается и перенаправляет данные в нужную дудку сам, без моих пинков и танцев с бубном, которые особенно прикольно исполнять на студии, когда у тебя время - деньги, и оно ограничено.

Вот и докажи мне теперь, что Systemd - говно. Вот это я и называю "жить каждый день". С init жить было невозможно. Сис5 хороша для серверов, которые чем меньше трогают - темс лучше. Да и хуй с ним, с музыкальным оборудованием, это редкий случай, и в общем-то действительно сложный. Но если инит не может без костылей поднять net и dhcpcd при подключении usb-сетевухи или wifi-свистка - я вообще извиняюсь. А hotplug - это костыль, как pnpISA в 4-й NT.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 16th, 2013 - 12:08 pm
(Link)
(пожимает плечами) а ещё мопеды хуёво летают. monit или upstart в режиме service manager — и пусть себе знимаются сервисами. это не работа инита, как я уже говорил. я же описал зачачи инита в прошлом каменте. все.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 16th, 2013 - 01:15 pm
(Link)
Ну если инит должен висеть в памяти и пожирать трупики, то чего бы ему заодно не заняться подъёмом сервисов по указке девайсменеджера? А дальше логично - сливаем их в один демон и получаем системд ;)

Не, я всё понимаю, но вот в этом честно говоря криминала не вижу. Нафиг плодить 100500 демонов, которые ещё и не всегда знают, как у них оцессы форкаются?
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 16th, 2013 - 01:21 pm
(Link)
>Ну если инит должен висеть в памяти и пожирать трупики, то чего бы ему заодно не
>заняться подъёмом сервисов по указке девайсменеджера?

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

если у меня рухнет system manager — да и хуй с ним: систему это не убъёт, у меня всегда останется vt, где я смогу разобраться с катастрофой. а вот если рухнет init — то похуй, сколько остальных процессов отлично работали.

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

>Нафиг плодить 100500 демонов
на тот фиг, что падение одного демона позволяет его перезапустить без ребута. а падение инита — это автоматический kenel panic или ребут.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 17th, 2013 - 03:42 pm
(Link)
Количество кода с вероятностью глобального отказа связано опосредованно. В отдельных случаях до 3/4 кода - это обработка исключений и валидация входных данных.

А если ёбнется, например, udev, то мало тоже не покажется. Как ты собрался его рестартить, если у тебя все устройства поотвалились? Так не лучше ли иметь одну точку отказа вместо целой кучи?
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 17th, 2013 - 04:33 pm
(Link)
>Количество кода с вероятностью глобального отказа связано опосредованно.
чисто статистически же. чем больше кода — тем больше вероятность появления ошибки в нём. и — что ещё важней — тем сложнее такой код проверять. проверить монолитного демона, который делает 100500 вещей, практически невозможно.

>А если ёбнется, например, udev, то мало тоже не покажется
и это прискорбно, да. но тут такая штука, что удев — тоже говнище. однажды я таки соберусь с силами, преодолею лень и мигрирую нахуй на mdev, жестоко выдрав его из бизибокса.

>Так не лучше ли иметь одну точку отказа вместо целой кучи?
нет. пизданувшийся монолитный демон — это срака-срака-срака. потому что его код ОГРОМЕН, непроверяем, и выяснить, что именно там пизданулось — та ещё задача. например, дурацкий демон в коде перезапуска сервиса промазал указателем и попортил структуры udev. а udev в один прекрасный момент от этого ебанулся. кто виноват? где ошибку искать? правильный ответ — ВО ВСЕЙ КОДОБАЗЕ. нахуй-нахуй. искать ошибку в изолированном демоне проще: тут ясно, что именно этот демон и виноват.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 18th, 2013 - 01:40 pm
(Link)
> однажды я таки соберусь с силами, преодолею лень и мигрирую нахуй на mdev, жестоко выдрав его из бизибокса

И получишь принчипиально необновляемую систему.
Проще уже тогда свой дистрибутив сделать со своим репозиторием на гите например.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 18th, 2013 - 01:48 pm
(Link)
>И получишь принчипиально необновляемую систему.
ты знаешь, я udev перестал обновлять где-то на 12-й слаке, если не раньше. а зачем? что, появились Принципиально Новые Марсианские Устройства с соединением напрямую через астрал?
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 18th, 2013 - 10:10 pm
(Link)
Распознаванием железа ядро занимается. задача devfs сообщить системе о том, что ядро чего-то там увидело. Теоретически, если ты не меняешь железно в машине, то ядро и devfs обновлять незачем, особенно если всё работает. Разницу между ядром 3.10 и 3.12 заметит разве что сам Торвальдс.
(Reply to this) (Parent)
[User Picture]
From:[info]gregory_777
Date:December 18th, 2013 - 10:17 pm
(Link)
> чисто статистически же. чем больше кода

Нет.
a = 100 / b;

Мало кода, но если b = 0 всё упадёт.
try {
      a = 100 / b;

} catch {
      throw "Warning! Division by zero in @".
}

Кода больше, зато если b = 0, то ничего не упадёт, исключение будет обработано и записано в лог.

В итоге второй код более устойчив.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 19th, 2013 - 02:37 am
(Link)
>В итоге второй код более устойчив.
нихера подобного, точно так же падает. но зато вместо красивого сегфолта с кородампом, где можно сразу на месте всё посмотреть, имеем «развинченый» стек и хуй чего посмотришь.

но суть же не в этом, ты отлично понял, о чём я. натурально, имелся в виду код, реализующий всякие новые функции, а не boilerplate. неужто надо было это отдельно пояснять?
(Reply to this) (Parent)
From:[info]tzirechnoy.livejournal.com
Date:December 18th, 2013 - 05:35 pm
(Link)
Собственно, в SysV init тожэ был функцыонал по автоперезапуску всякой шняги.

Правда, лучшэ было всё-таки писать вещи в стиле safe_mysqld -- самому, поскольку всё равно этот функцыонал был херовый.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 18th, 2013 - 05:46 pm
(Link)
ну дык люди давно написали тот же monit, например. и как-то умудрились не превратить его в init.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 18th, 2013 - 10:56 pm
(Link)
А вот, кстати, ещё интересная штука.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 19th, 2013 - 02:42 am
(Link)
не, саклесы, конечно, хорошие, но вот пайковская нелюбовь к shared libraries подзаебала уже. статика хуячит память направо и налево — именно потому, что нет shared objects.

и с чего они взяли, что статика быстрее стартует? бенефиты от отсутствия необходимости в линковке после старта вполне себе съедаются тем, что бинари становятся сильно больше и дольше читаются с диска.
(Reply to this) (Parent)
[User Picture]
From:[info]ketmar
Date:December 14th, 2013 - 05:45 pm
(Link)
и да, кстати: upstart существует уже много лет. и на фоне системды выглядит королевой красоты и изящества. но у красношапки как всегда в жопе NIH заиграл.
(Reply to this) (Thread)
[User Picture]
From:[info]gregory_777
Date:December 15th, 2013 - 09:18 am
(Link)
Да, upstart хорош. Но слишком уж проприетарен, как и все поделки космонавта.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 15th, 2013 - 10:30 am
(Link)
э… ЧЕГО в апстарте «проприетарного»? O_O
(Reply to this) (Parent) (Thread)
From:[info]roignac [launchpad.net]
Date:December 15th, 2013 - 01:16 pm
(Link)
CLA каноникаловское надо подписывать чтобы патч приняли. Убунточка до сих пор патч для SELinux таскает в пакете отдельно из-за этого
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 15th, 2013 - 01:20 pm
(Link)
внизапна! я тоже твои говнопатчи в свои проекты брать не буду. как это мешает форкануть и делать всё, что захочется?
(Reply to this) (Parent) (Thread)
From:[info]roignac [launchpad.net]
Date:December 15th, 2013 - 04:15 pm
(Link)
>я тоже твои говнопатчи в свои проекты брать не буду
Ты CLA-то почитай - Каноникал получает право менять лицензию тебя не спросив. Потому-то парень и не подписал, а Канокал теперь в апстрим их принять не может, вынуждены таскать рядышком.

>как это мешает форкануть и делать всё, что захочется?
Очевидно, апстарт никому не нужен.
(Reply to this) (Parent) (Thread)
[User Picture]
From:[info]ketmar
Date:December 15th, 2013 - 04:16 pm
(Link)
>Ты CLA-то почитай
я-то читал. а вот ты — нихуя не понял, о чём я писал.

>Очевидно, апстарт никому не нужен.
очевидно, что человек с опенидом лаунчпада — дегенерат.
(Reply to this) (Parent)
From:[info]666
Date:December 15th, 2013 - 04:00 am
(Link)
в винде такой хуйни нет
(Reply to this)