Systemd, Sysvinit nebo init?

Sten

Re:Systemd, Sysvinit nebo init?
« Odpověď #30 kdy: 15. 02. 2018, 03:05:36 »
Závislosti určuje podle INIT INFO na začátku takového skriptu a jsou pokaždé stejné

Tak urcite.

Stejně se chová sysvinit, pokud zapneš paralelizaci, a obecně každý paralelní algoritmus. Nedeterministické pořadí kroků při vykonávání úlohy neznamená, že by ta úloha nebyla deterministická. Podle tvé definice by ani procesor ani jádro nebyly deterministické, jelikož při každém bootu procesor jinak vyhodnotí skoky a jádro jinak naplánuje úlohy.


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Systemd, Sysvinit nebo init?
« Odpověď #31 kdy: 15. 02. 2018, 11:34:11 »
Stejně se chová sysvinit, pokud zapneš paralelizaci, a obecně každý paralelní algoritmus. Nedeterministické pořadí kroků při vykonávání úlohy neznamená, že by ta úloha nebyla deterministická.

Zrejme proto na systemd muze dochazet k tomu, ze nekdy ulohy nabehnou a nekdy nedy ne. Sen kazdeho admina: Server, ktery staci nekolikrat rebootovat, az jednou nabehne spravne.

Re:Systemd, Sysvinit nebo init?
« Odpověď #32 kdy: 15. 02. 2018, 11:38:52 »
Zrejme proto na systemd muze dochazet k tomu, ze nekdy ulohy nabehnou a nekdy nedy ne. Sen kazdeho admina: Server, ktery staci nekolikrat rebootovat, az jednou nabehne spravne.

To těžko. To už je stav, který nemá nastat. Správně napsaná služba (unita) se musí chovat, musí vytvářet a nabízet závislosti tak, aby k takovému stavu nedošlo.

Je podle mě lepší zjistit, že je v něčem hokej hned na počátku, než se chlácholit, že vše proběhlo, ale ne "naběhlo".

Sten

Re:Systemd, Sysvinit nebo init?
« Odpověď #33 kdy: 15. 02. 2018, 13:41:00 »
Zrejme proto na systemd muze dochazet k tomu, ze nekdy ulohy nabehnou a nekdy nedy ne. Sen kazdeho admina: Server, ktery staci nekolikrat rebootovat, az jednou nabehne spravne.

Úlohy, které obsahují race condition, nejsou chyba systemd, stejně jako nejsou chyba jádra – to je přeci naplánovalo paralelně, ne? Kdyby je plánovalo postupně bez multitaskingu, tak se to nestane, dokonce i systemd by pak úlohy spouštěl vždy ve stejném pořadí.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Systemd, Sysvinit nebo init?
« Odpověď #34 kdy: 15. 02. 2018, 14:31:03 »
Pozoruhodne rada tehlech problemu se objevila az s nastupem systemd. Jako drop-in replacement to tedy moc nefunguje. Tohleto automaticke generovani unit z init skriptu nebo co to ten systemd vlastne dela, byl neci blby napad a zbozne prani. Pri takove zmene se da leda spalit most a vsechny donutit, at si pekne rucne misto init skriptu sami vygeneruji unity.


Re:Systemd, Sysvinit nebo init?
« Odpověď #35 kdy: 15. 02. 2018, 14:39:27 »
Jako drop-in replacement to tedy moc nefunguje. Tohleto automaticke generovani unit z init skriptu nebo co to ten systemd vlastne dela, byl neci blby napad a zbozne prani.

To to je pravda, ale byl to nutný posun. Sysvinit je z dob krále Klacka a Linuxu, který se posunul někam dál, už nestačí. Linux už není pro konzervativní uživatele / správce, viz neustálé zkracování doby životního cyklu.

Jestli hledáte konzervativní přístup, pak si myslím, že budete muset vyplout z vod Linuxu někam jinam (okrajové distribuce se sysvinit se podle mě dlouho neudrží).

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Systemd, Sysvinit nebo init?
« Odpověď #36 kdy: 15. 02. 2018, 17:03:22 »
To to je pravda, ale byl to nutný posun. Sysvinit je z dob krále Klacka a Linuxu, který se posunul někam dál, už nestačí. Linux už není pro konzervativní uživatele / správce, viz neustálé zkracování doby životního cyklu.

Posun mozna byl nutny (kvuli me tedy ne), ale delat posun tim zpusobem, ze implementujeme to nejhorsi z Widli, tezko bude ta nejlepsi cesta. Soudruzi z RH by udelali lepe, kdyby se starali o to, aby v Linuxu fungovaly triviality typu uspavani a hibernace bez toho, ze to na pulce masin nepujde a na druhe pulce se to bude srat s kazdou verzi jadra jinak. Tohle je totiz jedna z veci, ktera je potreba proto, aby Linux mohl mit na stroji i kazdy BFU. Na paralelni start sluzeb sere pes, zejmena v dobe SSD, kdy to prinasi jeste mene vyznamny rozdil, nez v ere plotnovych disku.

Re:Systemd, Sysvinit nebo init?
« Odpověď #37 kdy: 15. 02. 2018, 17:48:58 »
Posun mozna byl nutny (kvuli me tedy ne), ale delat posun tim zpusobem, ze implementujeme to nejhorsi z Widli, tezko bude ta nejlepsi cesta. Soudruzi z RH by udelali lepe, kdyby se starali o to, aby v Linuxu fungovaly triviality typu uspavani a hibernace bez toho, ze to na pulce masin nepujde a na druhe pulce se to bude srat s kazdou verzi jadra jinak. Tohle je totiz jedna z veci, ktera je potreba proto, aby Linux mohl mit na stroji i kazdy BFU. Na paralelni start sluzeb sere pes, zejmena v dobe SSD, kdy to prinasi jeste mene vyznamny rozdil, nez v ere plotnovych disku.

Já si to třeba nemyslím, že je to to nejhorší z Windows, kde to mimochodem funguje minimálně od verze 2000 (tedy 18 let nazpět) obstojně. To, že jsou uživatelé trochu pokusní králíci, to je bohužel vlastnost celého GNU/Linux ekosystému. RedHat si svůj RHEL patrně vychytal i se systemd, samozřejmě za cenu pomalosti releasů.

Paralelní start služeb je vhodný z principu. Je pravda, že rychlost SSD to z části kompenzovala, ale je poměrně škoda mít start pomalejší, než je nutné.

Úvahami se pak dostáváme do bludného kruhu. Aby byl Linux atraktivnější, je systemd jedna z cest (asi ne jen podle mě dobrá, když k němu utekly skoro všechny distribuce). Zároveň by ale potřeboval stabilitu releasů (a s tím souhlasím), a systemd jde tak trochu proti tomu.

Systém balíčků se závislostmi v repozitáři má jednu nevýhodu: do linuxu jde jen s obtížemi instalovat programy z různé doby. Vždy je víceméně vyžadováno, aby byl celý systém ze stejného releasu. Je pak poměrně zajímavé sledovat, že uživatelé sice volají po stabilitě, ale v praxi sahají spíš k rychlejším, až rolling release distrům. Nikde jsem nečetl, co je toho příčinou. Jestli je to nějaká spíš - řekněme - zvídavost, šťouravost, nebo jestli je to tím, že jsou programy na tolik ve vývoji, že je opravdu potřeba mít všechno v nových verzích.

Systemd bych z toho všeho nevinil, tolik problémů v praxi nezpůsobuje.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Systemd, Sysvinit nebo init?
« Odpověď #38 kdy: 15. 02. 2018, 19:55:55 »
Já si to třeba nemyslím, že je to to nejhorší z Windows,

Jo, za ty binarni logy by mel Poettering byt minimalne rozctvrcen. Clovek musi byt totalni debil aby neco takoveho tahal do Linuxu a jeste to implementovat tak, ze to prinejmensim v pulce pripadu nefunguje.

Citace
Je pak poměrně zajímavé sledovat, že uživatelé sice volají po stabilitě, ale v praxi sahají spíš k rychlejším, až rolling release distrům. Nikde jsem nečetl, co je toho příčinou.

Bohuzel, vyber stabilnich dister, zejmena s dlouhou podporou, je ponekud omezeny a clovek u nich ke konci muze narazet na problemy s tim, ze na ne uz obcas nepasuje SW, ktery je potreba updatovat, protoze bezpecnost. Vyber stabilnich dister bez systemd je pak jeste horsi.

Re:Systemd, Sysvinit nebo init?
« Odpověď #39 kdy: 15. 02. 2018, 20:13:03 »
Bohuzel, vyber stabilnich dister, zejmena s dlouhou podporou, je ponekud omezeny a clovek u nich ke konci muze narazet na problemy s tim, ze na ne uz obcas nepasuje SW, ktery je potreba updatovat, protoze bezpecnost. Vyber stabilnich dister bez systemd je pak jeste horsi.

To musí být hodně deprimující, mít na výběr Windows, nebo Windows převlečené za Linux.

Yasuo

Re:Systemd, Sysvinit nebo init?
« Odpověď #40 kdy: 16. 02. 2018, 10:42:36 »
Ahoj, muze mi nekdo rict, kde bych upravil ten parameter init, treba na init=/bin/bash, jak psal nekdo vejs? Rad bych si to vyskousel, ale jaksi to nemuzu najit. Nejlip na Ubuntu 16.04 nebo Debian 8,9...

Re:Systemd, Sysvinit nebo init?
« Odpověď #41 kdy: 16. 02. 2018, 10:43:58 »
Ahoj, muze mi nekdo rict, kde bych upravil ten parameter init, treba na init=/bin/bash, jak psal nekdo vejs? Rad bych si to vyskousel, ale jaksi to nemuzu najit. Nejlip na Ubuntu 16.04 nebo Debian 8,9...

Nejjednodušeji při startu, když naběhne GRUB

Re:Systemd, Sysvinit nebo init?
« Odpověď #42 kdy: 16. 02. 2018, 10:46:40 »
Ahoj, muze mi nekdo rict, kde bych upravil ten parameter init, treba na init=/bin/bash, jak psal nekdo vejs? Rad bych si to vyskousel, ale jaksi to nemuzu najit. Nejlip na Ubuntu 16.04 nebo Debian 8,9...

Nejjednodušeji při startu, když naběhne GRUB, umožní editovat parametry. Je to ten řádek, kde je "quiet ro". Změníte parametry např. na "init=/bin/sh ro".

Yasuo

Re:Systemd, Sysvinit nebo init?
« Odpověď #43 kdy: 16. 02. 2018, 11:03:45 »
Ahoj, muze mi nekdo rict, kde bych upravil ten parameter init, treba na init=/bin/bash, jak psal nekdo vejs? Rad bych si to vyskousel, ale jaksi to nemuzu najit. Nejlip na Ubuntu 16.04 nebo Debian 8,9...

Nejjednodušeji při startu, když naběhne GRUB, umožní editovat parametry. Je to ten řádek, kde je "quiet ro". Změníte parametry např. na "init=/bin/sh ro".

Mam tam radek Linux     /boot-vmlinuz-4.9.0-4-amd64 root=/dev/sda1 ro quiet
Mam to smazat a napsat init=/bin/bash rw ?

Mufasa

Re:Systemd, Sysvinit nebo init?
« Odpověď #44 kdy: 16. 02. 2018, 11:18:52 »