Re: Proč tolik povyku kolem systemd?

Adam Pribyl pribyl na lowlevel.cz
Sobota Listopad 29 23:05:20 CET 2014


On Fri, 28 Nov 2014, Vladimir Macek wrote:

> On 27.10.2014 13:53, Jan Marek wrote:
>> A dle mého soukromého názoru systemd porušuje filozofii UNIX-ového
>> programování KISS (Keep It Simple Stupid), jinými slovy - dělej jednu
>> věc, ale dělej ji dobře, rychle, efektivně, robustně... systemd se
>> snaží dnes nahradit nejen init systém, ale též inetd a další věci...
>
> Zdar lidi, před měsícem tu proběhla krátká (pokud konfera přenesla všechno)
> diskuse na téma systemd. Velmi oceňuju věcnost a rozumím tomu pohledu proti
> porušování KISS a UNIX filosofii. Čtu podobné věci o systemd už nějaký pátek.
>
> Sám vyvíjím na Linuxu, ale spíš high-level aplikace a to pod tím nestíhám
> sledovat a spoléhám, že to prostě nějak jede. Předpokládám, že (pokud se
> mohutně nenaštvu) se i systemd, pokud bude protlačen, časem dostane do
> stavu, kdy Linux nezabije, ale v zásadě to bude fungovat. Byť míň lidí bude
> rozumět vnitřku a celý to asi zwindowsovatí.
>
> Ta diskuse byla ale trochu jednostranná. Je tu někdo, kdo může o systemd
> říct něco pozitivního? Co na tom můžeme vidět jako přínostné? Adam už něco
> zmínil, že změna umožnila některé věci, které doteď nešly. Platí to? Šlo by
> to lehce rozvést?
>
> Moc prosím stále věcně, bez emocí a štiplavostí. :-)

systemd hlavne vyuziva synergii "kdyz uz neco mame pouzijeme to i jinde". 
Ovladnutim initu ovlada vsechny sluzby systemu, ktere nad nim bezi, muze 
je izolovat, muze jim bufferovat vstupy/vystupy, vystup do logu, kdyz 
jeste nebezi syslog, muze presneji oddelovat a znackovat vystupy z demonu 
do logu, resit pripojova a odpojovani disku (vcetne kryptovanych) ponekud 
mene chaoticky. Umoznuje taky vyuziti linuxovych cgroups, takze by melo 
byt mozne zabit/omezit cely strom procesu apod.

Hezke jsou i skupiny nastroju systemd-analyze, ktere umoznuji zjistit casy 
startu ruznych sluzeb.

Pak je tu ono famozni propojeni s DBUSem, ze ktereho je nakonec kdbus. 
Technologie dbusu je rekneme evolucnim krokem, ktery se podle nekterych 
zvrhnul - jde o puvodne jednoduchou sbernici zprav a udalosti, ke kterym 
se muzou prihlasovat aplikace a demoni, nebo pres ni komunikovat s jinou 
aplikaci, coz se prave zvrhlo a nekdo pres to snad posila i "vsechna" 
data... me prisel DBUS vzdy zbytecne slozity a jeho adresni prostor 
nepochopitelny. Fakticky jsem ho nikdy k nicemu nepotreboval (ze ho dnes 
potrebuje operacni system ke vsemu je jina vec).

logind - zajistuje dnes multiseat - vzdycky bylo trochu harakiri kdyz melo 
na systemu pracovat vicero lidi najednou s pravy k nekterym fyzickym 
zarizenim, vznikali na to ruzna console-kity a pod. zajistuje tusim i 
nastavovani environmentu, fontu apod.

machined - jeste jsem nemel tu cest..

nspawn - chroot na steroidech, hodne sklonovany kvuli lepsi izolaci

jornald - onen slavny binarni log - je sice uzasne, ze umi vypisovat logy 
podle demonu (unit), podle casovych intervalu, uzivatelu (sezeni).
Bohuzel uz jsem dvakrat zazil poskozeni binarnich log souboru, ktere 
znamena nevratne poskozeni a vzdy jsem logy musel smazat (jednou se z toho 
zblaznil i syslog, do ktereho to journald umi sypat, jen jsem kdesi cetl, 
ze negarantuji spravne poradi.. nonic). Nema rad birnani logy, bohuzel se 
neda journald vypnout, pouze jde dat Storage=none cimz se vytvari je v 
ramdisku a "nic" nezapisuje.

networkd, timedated, hostnamed...

Vse to ma smerovat ke stateless linux, kdy nebude k nastartovani OS 
potreba nic jineho nez systemd, ktery automaticky udela vse i s prazdnym 
/etc apod... je to hezka idea, ale ja spis nechci, protoze to prazdne 
/etc/ znamena jen plne /lib/systemd a /usr/lib/systemd, krom toho mam i 
system kde je jen /etc/inittab a taky funguje.

Nekdo muze za vyhodu systemd povazovat i "inteligentni" pager, ktery pri 
vypisu na obrazovku ruznych informaci automaticky formatuje text tak, aby 
radky neprelezaly terminal, pokud to jde to roury mel by tam davat vsechno 
(ale uz jsem zazil nejaky kix taky). Osobne to nemam rad, stejne jako 
spoustu jinych veci v systemd, ktere povazuji za zbytecne. Nevim k cemu 
musi nahrazovat treba ntp/chrony, jiste k tomu byl nejaky "uber" duvod... 
Nejvic mi prijde ze duvod je "linux podle systemd" - vsechna ta koo-prace 
lidi za desitky let je balast, udelame to za rok a lepe. Ze by tam 
nevznikaly zadne race-condition to bych se dost divil...

> Díky,
>
> V.

Adam Pribyl


Další informace o konferenci Linux