V *BSD, HP-UX, Digital Unixu, Solarisu atd.... tyto věci opravdu nechyběly/nechybí. Proč bych se vracel k prehistorickým verzím Bell labs. atd. z přelomu 70. a 80. let? Když vznikaly, prostě např. TCP/IP nebyly na světě. Oproti nim systemd nic převratného nepřináší.
Argumenty na úrovni základní školy diskusi nikam neposunete.
HPUX ani Digital Unix moc neznám, ale v tom Solarisu nebo třeba v AIXu mimochodem nechybí ani obdoba systemd, když už je o nich řeč. Ale je to trochu jinak. Ty příklady jsem totiž necitoval náhodou. Pokud jste tu dobu nezažil (ani já), tak si to můžete snadno dohledat: u každého jednotlivého z nich totiž nastaly podobné reakce, jako u systemd: že to prý "není Unix" (jakoby na tom záleželo), že to bude mít zlé důsledky pro komunitu (no jistě), atd, atd, atd. Ano, i v případě TCP/IP, i v případě multithreadingu a ostatních tomu tak bylo. S tím, že v podtextu byla a je stále tatáž pozoruhodná představa: kdo takové věci potřebuje "nic nechápe" a měl by změnit své požadavky a potřeby podle toho, co umožňuje Unix (a především podle toho, co NEumožňuje), namísto aby se OS přizpůsobil uživateli. Při trošce nadsázky (ale opravdu jenom trošce) je to v podstatě že lidé mají zapomenout na grafiku, na web, video, virtualizaci, hry atd. a místo toho se mají učit používat vi a konfigurovat sendmail.
Nevím jestli je za tím brilantní jirsákovská demagogie nebo jen nedostatek informací.
Vyjmenované věci nikdy významně neútočily na podstatu filosofie daného OS. Šlo o vylepšení a přirozené doplnění o nové technologie. Jistěže se to někomu nelíbilo, ale takové diskuse utichaly poměrně rychle, protože nebylo.moc o čem diskutovat.
Systemd je poněkud jiný "level". Přináší dosud nepoznané problémy a zlozvyky ze světa mimo Unix - většinou přesně to co nás tam otravuje.
Init v Solarisu(pokud vím) není filosofie systemd. Ono to není v tom, že se nepíší shell scripty, nahazující služby atd. Pokud by systemd zůstalo init systémem, tipuju, že by vadilo málokomu(v tomto směru je snadné se přizpůsobit). Problém je v zavádění podivných závislostí, snaze dokonce i o přiohýbání kernelu pro pochybné účely a vzdalování se od kompatibility s ostatními podobnými OS.Je to složité, neustále nedodělané a nechová se to zcela deterministicky.
Z Linuxu se tak může stát podivné cosi - ani VMS nebo Windows ani Unix, slepenec těch nejhorších přístupů ze všech světů.
Proto díky za Devuan. Linux pořád může být snadno použitelný Unix.
Přináší dosud nepoznané problémy a zlozvyky ze světa mimo Unix - většinou přesně to co nás tam otravuje.
Například?
Já na systemd oceňuji například to, že i do světa služeb přináší tradiční unixovou filozofii – dělej jen jednu věc, ale dělej ji pořádně.
Třeba webový server musel dříve odpovídat na požadavky na webové stránky, a vedle toho se ještě musel starat o logování a rotaci logů, naslouchání na privilegovaném portu a následné vzdání se rootovských oprávnění, o daemonizaci o nějaké servisní rozhraní, přes které bylo možné vyvolat přenačtení konfigurace (v nejprimitivnější podobě např. zápis PID serverového procesu do souboru). Nic z těch věcí navíc se systemd dělat nemusí – stačí, když vyřizuje požadavky na webové stránky, o to ostatní se postarají komponenty správce služeb. Logy server posílá na standardní výstup, o naslouchání v síti se může postarat systemd, a pokud to chce dělat server sám, povolím mu jenom capability cap_net_bind_service, daemonizaci server nedělá a komunikovat s ním může systemd přes signály rovnou, protože serverový proces je přímo potomkem procesu systemd, takže jeho PID systemd zná.
Pokud by systemd zůstalo init systémem, tipuju, že by vadilo málokomu
Jenže init systémů je dost, nevím, jestli je potřeba psát nějaký další. V linuxu ale chyběl správce služeb – což se ukázalo například na těch jiných init systémech, které sice pár problémů vyřešily, ale vždy narazily na limity init systému, který jen spouští procesy a dál se o ně nijak nestará. Přitom unix má tu perfektní vlastnost rodičovského a dceřiného procesu, kdy rodičovský proces má dceřiný proces na starost a dostává zprávy o jeho průběhu. To je pro správce služeb perfektní podpora, ale klasický init systém toho prakticky nevyužívá.