Proč jsou všichni proti systemd?

youda

Re:Proč jsou všichni proti systemd?
« Odpověď #30 kdy: 18. 05. 2016, 12:43:49 »

Tak jasne, kdyz ti neco nebude fungovat na systemd, tak ses proste v pici, protoze zadnou vochcavku neudelas. Debil Poettering to prohlasi za vlastnost. Pokud potrebujes nejaky vlastnosti logovani tak ses taky v pici, protoze zadnej jinej logger si nevyberes. Pokud chces mit stroj zabezpecenej tak ses v riti 10x, protoze tohle nastartuje sit driv, nez kernel ... kdyz chces stopnout demona, tak ho proste nestopnes, protoze ti to podrukama znova nastartuje. Kdyz ho chces nastartovat, tak prozmenu zustane chciplej ... protoze je prece uzasny, aby webserver startoval 50x denne on demand ... user si tech 5 minut pocka.

Pri systemd lze pouzit i jiny logger.
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/s1-interaction_of_rsyslog_and_journal.html
Journald zkratka vystavi messages v Syslog formatu RFC5424 na UNIX socketu, odkud si je RSyslog dale bere ke zpracovani. 

Autorestart services je default trebas na Solarisu, tam se servica enabluje/disabluje pokud pada prilis casto, skonci v maintenance modu. A nejak mi tento zpusob prace se services nedela problemy, je to jine, rozhodne ne horsi.

Ve vysledku je to stejne debata o hovne, protoze kazdy admin, co neni totalni matlak, stejne preposila logy na centralni RSyslog, nebo centralni Logstash s Elasticsearch ulozistem a Kibanou na cumeni.
Beh services hlida nejakym Zabbixem a konfiguruje centralnim Puppetem.

Takze je v dusledku lautr jedno, jestli je na serveru initd nebo systemd.


Lama

Re:Proč jsou všichni proti systemd?
« Odpověď #31 kdy: 18. 05. 2016, 12:51:24 »
Proti nejsou všichni správci – naopak podle rychlosti šíření systemd se dá soudit, že proti je jen menšina.

Důvody, proč jsou v internetových diskusích často vidět komentáře proti systemd jsou: nadávat na systemd je módní, konzervatismus správců, technické důvody (chyby v kódu apod.) a jiné. Poměr mezi těmi důvody bych viděl klasicky na 90 % : 9 % : 0,9 %.
Čekal jsem, kdy a od koho se tu objeví podobné moudro. Můj tip byl buď Nový nebo Jirsák. A nemýlil jsem se.. :)

"Proti nejsou všichni správci – naopak podle rychlosti šíření systemd se dá soudit, že proti je jen menšina." - Aha, takže ono to závisí vždy a pouze na těch správcích, jestli se bude používat SysD či nikoliv.
Ono záleží na firmě. Pokud firma jede stabilně na nějakém konkrétním distru a to distro (resp. jeho vývojáři) se rozhodne přejít na SysD, tak co má admin dělat, pokud firma pravidelně updatuje na nejnovější verze? Možná by to mohl překopat na vlastní odpovědnost, ale k tomu jeho nadřízení nemusí mít pochopení, stejně tak by pro to nemusel mít pochopení oficiální support dodavatele systému, takže záleží asi spíš na firmě jestli mu dá volnou ruku či nikoliv.

Re:Proč jsou všichni proti systemd?
« Odpověď #32 kdy: 18. 05. 2016, 13:11:55 »
Takze je v dusledku lautr jedno, jestli je na serveru initd nebo systemd.
Pokud je někde situace taková jaká píšeš (ne všude je), tak pak systemd už vůbec nic nepřináší, jenom způsobuje riziko a nejistotu. Takže v takové situaci to vůbec jedno není.

andy

Re:Proč jsou všichni proti systemd?
« Odpověď #33 kdy: 18. 05. 2016, 13:14:52 »
Tak já, jako "programátor" mám systemd rád. Daemonizace v unixu je prostě tristní a jsem konečně rád, že to prostě nemusím programovat. Žádný double-forky a podobně, řešení čehokoliv - napíšu unit soubor a je to. Super. Problém vyřešen.

Druhá věc je technické provedení - když jsem viděl, jak se autoři staví k řešení některých bugů, tak to je na vyhazov.

V praxi mám pocit, že to funguje. Takže systemd mám rád :)

Re:Proč jsou všichni proti systemd?
« Odpověď #34 kdy: 18. 05. 2016, 13:19:53 »
Daemonizace v unixu je prostě tristní a jsem konečně rád, že to prostě nemusím programovat. Žádný double-forky a podobně, řešení čehokoliv - napíšu unit soubor a je to. Super. Problém vyřešen.
Nevím jak v různých distribucích Linuxu, ale ve FreeBSD je https://www.freebsd.org/cgi/man.cgi?query=daemon&sektion=8 který to řeší úplně v pohodě.

Taky se na to dá dívat opačně: všechny serverové aplikace daemon mód už mají, takže opět systemd nic nového nepřináší. Maximálně může ušetřit práci u zbrusu nových serverových aplikací, ale ty se dají úplně v pohodě řešit právě nějakou obdobou daemon(8). Takže opět ta samá otázka: "a stojí to za to?!" ;)


x

Re:Proč jsou všichni proti systemd?
« Odpověď #35 kdy: 18. 05. 2016, 13:44:55 »
Tak já, jako "programátor" mám systemd rád. Daemonizace v unixu je prostě tristní a jsem konečně rád, že to prostě nemusím programovat. Žádný double-forky a podobně, řešení čehokoliv - napíšu unit soubor a je to. Super. Problém vyřešen.

Druhá věc je technické provedení - když jsem viděl, jak se autoři staví k řešení některých bugů, tak to je na vyhazov.

V praxi mám pocit, že to funguje. Takže systemd mám rád :)

Tak pominu to, ze Linux neni Unix. To opravdu kazdy vedet nemusi. Init jsem vzdy sam povazoval za hrozny.

Predpokladam ale, ze veci co jdou resit uplne trivialne jako tady http://man.openbsd.org/OpenBSD-current/man8/rcctl.8 jsou v programatorskych kruzich sproste slovo, protoze k tomu neni dostatek Kool Aid a proste to jen trapne jednoduse funguje :-)

lopata

Re:Proč jsou všichni proti systemd?
« Odpověď #36 kdy: 18. 05. 2016, 14:04:49 »
pokud si vzpominam spravne, tak hlavni vlna protestu proti systemd byla z toho duvodu, ze:

systemd prodrazuje exponencialne praci spravcu

systemd zlevnuje "cookie cutter" cloudove nasazeni, kde se firma vzda jakychkoliv vlastnich pozadavku na odlisnosti.

lopata

Re:Proč jsou všichni proti systemd?
« Odpověď #37 kdy: 18. 05. 2016, 14:07:10 »
a to je zobecneni jednotlivych arguemntacnich bodu.

ano systemd je pro firmy kratkodobym prinosem,
protoze manager rozhodne o cloudu a zruseni mista spravce.

dlouhodobe je to vendor lock-in, ktery vyjde extreme draho.

j

Re:Proč jsou všichni proti systemd?
« Odpověď #38 kdy: 18. 05. 2016, 17:49:56 »
Pri systemd lze pouzit i jiny logger.
Nejde, musis tam mit ten jejich a mozna teprve z nej si muzes prebirat cosi do dalsiho demona (coz je uchylny samo o sobe), ale kdyz ti nepojede ta systemd sragora, tak zadny logy nebudou.

A viz dalsi, v dusledku je to o tom, ze kdyz se na systemd neco podela, tak si to admin nespravi, a nespravi to ani kdyby to chtel spravit primo v kodu, protoze to by si pak leda musel celej init udrzovat sam. Podivej se na hlaseni zcela zjevnych chyb a reakce tech idiotu kolem systemd.


andy

Re:Proč jsou všichni proti systemd?
« Odpověď #39 kdy: 18. 05. 2016, 20:39:09 »
Nevím jak v různých distribucích Linuxu, ale ve FreeBSD je https://www.freebsd.org/cgi/man.cgi?query=daemon&sektion=8 který to řeší úplně v pohodě.
Součástí std. instalace to není, možná jako nějaký balíček.
Citace
Taky se na to dá dívat opačně: všechny serverové aplikace daemon mód už mají, takže opět systemd nic nového nepřináší. Maximálně může ušetřit práci u zbrusu nových serverových aplikací, ale ty se dají úplně v pohodě řešit právě nějakou obdobou daemon(8). Takže opět ta samá otázka: "a stojí to za to?!" ;)
No mě přijde, že ano. Třeba proto, že řešení před PIDfily vypadá dost jako hack. Integrace s cluster-warem funguje v pohodě. Závislosti fungují. Věci je vhodné řešit "systémově" a nikoliv nějakým hackem do init.d. Ale hlavně - tady si pořád všichni stěžují a já jsem fakt nepochopil na co. Journalctl mi ušetřil spoustu času, když jsem hledal, který daemon mi proč nestartuje. Tak na co si tady pořád všichni stěžují? Že to je nové a co je nové je špatné?

Citace
Podivej se na hlaseni zcela zjevnych chyb a reakce tech idiotu kolem systemd.
Tohle je argument, se kterým mi nezbývá než souhlasit. Ale to ostatní mi fakt připadá na té úrovni, že XML je špatné, protože prohlížeč při načítání selže, když nezavřete tag.

Re:Proč jsou všichni proti systemd?
« Odpověď #40 kdy: 18. 05. 2016, 21:42:06 »
Součástí std. instalace to není, možná jako nějaký balíček.
Ale je (mluvím o FreeBSD):
Kód: [Vybrat]
# which daemon
/usr/sbin/daemon

Třeba proto, že řešení před PIDfily vypadá dost jako hack.
Tak hack, je to prostě určitý druh handlu, čemu konkrétně to vadí? Přijde ti třeba jako hack, že tmux má v /tmp nějaký svůj socket? Nebylo by lepší se na něj připojovat přes DBUS? :)

Integrace s cluster-warem funguje v pohodě. Závislosti fungují. Věci je vhodné řešit "systémově" a nikoliv nějakým hackem do init.d. Ale hlavně - tady si pořád všichni stěžují a já jsem fakt nepochopil na co.
Líbí se ti třeba, jak systémově řeší služby Windows? Co můžeš mít proti? Závislosti fungují, logování taky. Paráda, ne?

Různí lidi si stěžují na různé věci, ale admini nejspíš na to, že jim to nepřinese nic než spoustu práce a nejistoty. Protože se starými inity se už sžili, vychytali si jejich vlastnosti a žádné úplně zásadní nevýhody nemají.
« Poslední změna: 18. 05. 2016, 21:44:15 od Mirek Prýmek »

Re:Proč jsou všichni proti systemd?
« Odpověď #41 kdy: 18. 05. 2016, 21:43:36 »
P.S.
žádné úplně zásadní nevýhody nemají.
to, že init skripty ve spoustě linuxových distribucí jsou k zblití a často nefungují, to je jiná kapitola. Zprasit jde samozřejmě všechno. Ale taky to jde napsat inteligentně (viz třeba ty init skripty ve FreeBSD - většinou na pár řádků, čistě "deklarativní").

andy

Re:Proč jsou všichni proti systemd?
« Odpověď #42 kdy: 18. 05. 2016, 22:34:49 »
Líbí se ti třeba, jak systémově řeší služby Windows? Co můžeš mít proti? Závislosti fungují, logování taky. Paráda, ne?

Já nevím, jak to funguje ve FreebBSD - asi dobře. Pidfily jsou hack, protože to, že to číslo procesu v pidfilu má nějakou relevanci taky je docela náhoda. Ale vůbec nechápu, co je špatného na tom, že
- daemon je normální unixový standardní program, který normálně běží a může klidně logovat na stdout stderr
- zda je ten program živý kontroluje systémový daemon napřímo
- výstupy jsou pěkně tříděny, opatřeny časovou značkou
- konfigurace se provádí deklarativní formou

Citace
Různí lidi si stěžují na různé věci, ale admini nejspíš na to, že jim to nepřinese nic než spoustu práce a nejistoty. Protože se starými inity se už sžili, vychytali si jejich vlastnosti a žádné úplně zásadní nevýhody nemají.

Mě to nějak připadá, jako dohadovat se s vývojářem PHP, že přechod na lepší jazyk mu přinese nic než spoustu práce a nejistoty, protože s PHP špagetama už se sžil, vychytal si jejich vlastnosti a žádné úplně zásadní nevýhody nemají.

V průběhu posledních pár let jsem vyprodukoval několik programů, které běžely jako daemon a systemd (a před tím to, co bylo v ubuntu, nevím, jak se to jmenovalo - upstart?) byl první případ, kdy jsem vyrobil konfigurák a ono to fungovalo. Ten princip mě přijde super. A na argumenty typu "tohle umím, proč bych měl přecházet na něco jiného" začínám být trochu alergický.

BoneFlute

  • *****
  • 2 046
    • Zobrazit profil
Re:Proč jsou všichni proti systemd?
« Odpověď #43 kdy: 18. 05. 2016, 22:40:45 »
...
Mě to nějak připadá, jako dohadovat se s vývojářem PHP, že přechod na lepší jazyk mu přinese nic než spoustu práce a nejistoty, protože s PHP špagetama už se sžil, vychytal si jejich vlastnosti a žádné úplně zásadní nevýhody nemají.
...
"Hele, ty jsi PHPkař. Víš, jakej je to sprasenej jazyk. Koukej, tady mám lepší. Je funkcionální, všechno naprosto intuitivní, samozřejmě, to, že je to FP, neznamená, že tam jsou monády, neboj. Píšem to tady s klukama už asi půl roku, a už to celkem funguje. Ještě jenom poladíme pár drobností jako právě ty monády, jako aby tam nebyli, ale bylo to pure. No, přepíšeme do toho tady ALZA e-shop, co říkáš?"

ByCzech

  • *****
  • 1 870
    • Zobrazit profil
    • E-mail
Re:Proč jsou všichni proti systemd?
« Odpověď #44 kdy: 18. 05. 2016, 23:36:33 »
Se zájmem sleduji tuhle diskuzi...

Osobně si myslím, že v raných verzích byl systemd skvělý. Uměl startovat jednoduše daemony, umožňoval výrazně rychlejší start, nejen díky paralelnímu startu (to uměl i klasický init, např. v Debianu už dávno před tím), ale také díky tomu, že nemusel čekat na start některých daemonů, na kterých záviselo něco jiného, protože např. poskytoval jeho rouru sám a tu mu pak po jeho startu předal, takže věci závislé na něm na jeho start čekat nemusely (typicky dbus). Umělo to zrychlit start 2x i 3x v závislosti na HW. Malý, jednoduchý, dělal co dělat měl. Dal se jednoduše vyměnit za kterýkoli jiný boot init, což je ve světě Linuxu tak běžná a předpokládaná věc.

Pak se to začalo zvrhávat v to, že nabaloval na sebe další věci, které nejsou nutné, binární logy, ke kterým může být problém se dostat, když něco selže (a selhávání není výjimka). Nahrazování systémových částí svými, které nejsou "kompatibilní" a proto už nejde příslušná část vyměnit, pokud se původní zavedená alternativa nepřizpůsobí. Zažírání do částí desktopových software, které pak umějí běžet jen s ním ap. A úplně blbé je, když se vám jedna a ta samá instalace chovala na jiných PC různě - na některých start selhal na druhých ne. Nebo po vypnutí jader CPU a start na jednom se situace "opravila" a systém, který nenastartoval už naběhl. Sám jsem zažil, že po instalaci či upgrade systému příští start už neproběhl. Ať jsem se jako dekádami znalý odborník snažil, nebylo možné přijít na to, kde je chyba. Když jsem se to snažil řešit s maintainery balíčků a vývojáři, selhalo i toto. Museli konstatovat, že neví kde je problém. Nakonec jsem ten konkrétní problém vyřešil, protože jsem přišel na to, že se tam tluče paralelní start systemd a jeho vlastní služba readahead - vypnutím readahead a smazáním jeho cache souborů (vypnout nestačilo!!!) se to umravnilo (a to i přesto, že jsem si pak readahead zase zapnul). Ale bylo to pokus omyl a tenhle způsob mi byl na Windowsech vždy protivný, protože to znamená, že nemám OS pod kontrolou, jak bych jako admin mít měl a z toho slevovat nehodlám. Bohužel takových případů, kdy se to vyřešit nedá je mraky. Třeba na konkrétním HW při použití prelink prostě systém se systemd nenaběhne. Možné kdykoli předvést. Chyba je zjevně v systemd, protože normálně chcípne. Na jiném HW to nevadí, na jiném pro změnu ano. Jediným východiskem byla reinstalace OS, protože ani vrácení binárek prelinkem do původního stavu nepomohlo a tohle nedeterministické chování je prostě fail. I těmto způsobům jsem na Linuxu po předchozím používání pouze Windows odvykl a opravdu si nehodlám na tohle zvykat, to spíš udělám vlastní boot system, který bude schopen systemd nahradit. Takže základní myšlenka se mi líbí, ale její naplňování je od jistých verzí hodně špatně. Předpokládám, že si nikdo si nepřeje systém, který není schopen naběhnout, bez možnosti to řešit, protože init systém má spoustu vad.

Takže tohle vadí mi osobně, přestože ho používám, hlavně proto, že se mu moc vyhnout nedá a potřebuju prostě s ním umět. Učit se nové věci mi nevadí, naopak, děsně mě to baví. Ale co mě nebaví je, když se v principu deterministický stroj chová díky jedné SW komponentě nedeterministicky. Třeba to je to co vadí i jiným, jen to neumějí správně popsat.