Debian poslední roky umí skvěle vyjadřovat svoji nerozhodnost. I tentokrát nám ukázal své pevné a neměnné "možná". Bývalo by stačilo rozhodovat mezi třemi alternativami. Podporovat ne-systemd init systémy balík: a) nesmí, b) může, c) musí.
Pokud tedy přeložím rozhodnutí do obecné řeči: balík musí podporovat systemd, ostatní init systémy může. O první otázce - podpoře systemd se nerozhodovalo. Podpora systemd je jasná a víceméně s ní není problém. Ze tří voleb pro druhou otázku jich vykřesali osm. Díky tomu pak šlo rozhodnutí prošpikovat modálními slovesy a hemží se to "může", "měl by", "smí" atd.
Co to v praxi znamená? Jen to, že se uživatelé a vývojáři mohou dál mydlit mezi sebou, ale už s tím nemají otravovat hlavní maintainery Debianu. Šalamounské.
Co může v praxi nastat? Maintainer balíku se rozhodne, že zahodí podporu initu. Podle tohoto rozhodnutí na to má právo, nemusí se s ním dál zdržovat. Někdo druhý se rozhodne tentýž produkt adaptovat pro init. Má na to právo, a podle tohoto rozhodnutí má maintainer balíku povinnost se tím zabývat. Může se rozhodnout proti, ale takové rozhodnutí jistě nesmí nést znaky svévole, protože se rozhodlo, že se Debian k "prozkoumávání" alternativ hlásí.
Připomíná mi to člověka na rozcestí, který se rozhodl kterým směrem by se chtěl vydat, a tak se otočil tím směrem. Jen si ještě není jistý, jestli tím směrem udělá krok. Zvažuje, jestli nepůjde i pozpátku, nebo krokem v bok do jedné ze stran.
31. 12. 2019, 05:31 editováno autorem komentáře
Poradím vám, napsat službu pod systemd je strašně jednoduché. Mnohem jednodušší, než napsat službu pod SysVinit. Zapomeňte na daemon(), fork() a pidfile. Napište nejprve normální konzolovou aplikaci, která běží na popředí a loguje na standardní výstup. Bude se vám to dobře ladit a testovat. A pak – pak už nic, máte hotovo, máte službu, která bude dobře fungovat pod jakýmkoli rozumným správcem služeb, včetně systemd.
Jeste mi napiste jak uzivatel takovou sluzbu spusti pod svym uctem bez roota? (Coz je zadani)
Vidím, že vás systemd zajímá a začínáte se ptát na věci, které systemd umí ale SysVinit ne. Pokud myslíte spuštění systémové služby pod jiným uživatelským účtem (např. spuštění webového serveru pod uživatelem www
), na to stačí do jednotkového souboru služby přidat do sekce [Service]
položku User=
(případně Group=
).
Pokud byste chtěl, aby si uživatel mohl služby vytvářet sám, i to systemd umí – uživatel si může své jednotkové soubory vkládat do ~/.config/systemd/user/
. Správce mu pak pomocí loginctl enable-linger
může povolit automatické spouštění služeb.
Jinak samozrejme ze tak se to dela i ted. Normalni aplikace akorat se tam prida fork.
No vidíte. Takže službu běžící od systemd už napsat umíte. A je to jednodušší, než psát službu pro SysVinit skripty – ono to „akorát se přidá fork“ nemusí být vždy tak jednoduché a je to další kód, který musíte ladit a testovat. A se kterým se musí potýkat uživatel, když má nějaký problém se spouštění služby.
Závaznost podpory systemd nebylo potřeba potvrzovat, ta už byla dávno. Jestli o něčem hlasování bylo, tak o zahození podpory initu, z kteréžto prosté otázky se jim podařilo vykřesat dalších sedm možností, aby rozhodnutí nemuselo být dostatečně jasné.
Jejich neschopnost cokoliv rozhodnout mě už dávno přivedla k FreeBSD, a to jsem měl Debian opravdu všude kromě desktopů. Dnes u mě dožívá pár jednotek instalací Debianu, kde není možné používat BSD.
Myslím že od distribuce takové velikosti (co do počtu maintainerů) nejde čekat výraznou názorovou jednotu. Přijde mi, že takové komunity jsou z principu relativně různorodé (pro mě to bývalo i překvapivé) a tedy pokud chceme tu velikost udržet, se všemi výhodami které to přináší, je potřeba zkousnout i ty nevýhody – hledání relativně širokých kompromisů, pomalejší rozhodování a jiné procesy (i když Debian konkrétně možná jde dále než by musel).
Napadá mě i analogie k široké členské základně Lidovců, ale to možná moc nesouvisí a politiku sem míchat stejně nechci :-)
Nevím, jestli Debianu přeju, aby dopadl jako Lidovci. Politiku určitě dál vynechme. Mít svůj směr se nevylučuje s demokracií a svobodou. Mně přijde že vymizely jasně definované směry, v rámci kterých pak už může existovat pluralita názorů. Od FreeBSD vím co očekávat. Od OpenBSD vím, co očekávat. Od RHEL vím, co očekávat. Od CentOS vím, co očekávat. Od Debianu (už) nevím. A to mi přijde jako škoda, Debian byl vždy moje volba.
Zdánlivě mlhavé. Ani já nevím co mi debian (nebo taky moje osobní budoucnost) přinese. Moje možnosti jsou otevřené. Jasně definovaný směr někdy chci, ale někdy ne. Raději bych uvítal jasné rozhodnutí typu "každý balíček bude podporovad systemd a system-V-init", ale takhle formulovaná filozofie podle mě má smysl. Pro širokou základnu asi lepší než přesné vymezení. Jen doufám že jiné init alternativy teď nezaniknou.
Já třeba doufám, že zaniknou a nebude se s nimi zdržovat balíčkování a zrychlí se práce a bude se soustředit odlaďování jen na jednu cestu.
Bohužel tuto základní otázku hlasování nevyřešilo, jen posunulo "boj" mezi uživatele a jednotlivé maintainery. Ti si to teď vyžerou. Proto celý ten výsledek považuji za špatný, nikam neposouvající oproti současnému stavu.
[Miroslav Šilhavý]
Vysledek byl - pri vsi ucte k Vam i autorum Debianu - jasny uz od sameho pocatku. A to jak vysledek hlasovani, tak i to ze se nic ve sve podstate menit nebude. Ono to jaksi vypliva ze smerovani Debianu samotneho: autori se jej snazi delat (a take prezentovat) jako naprosto univerzalni distro, takze stejne tak ci onak nusi podporovat alternativy. Je to jeden z hlavnich duvodu, proc preferuji Debian / GNU Linux a myslim, ze nejsem jediny.
Myslim, ze cela vec neni znakem nerozhodnosti, ale spis jen vzkazem rozhadanym uzivatelum: "My sice vase vytky slysime, delame si s nimi hlavu, ale nic moc s tim stejne udelat nemuzemu, jinak by to uz nebyl TEN Debian ve kterem si kazdy muze najit to sve."
1. 1. 2020, 01:24 editováno autorem komentáře
To tu bylo i historicky. Ani dřív nebylo distribucím jasné, jestli se mají držet spíš System V -style initu, nebo Unixového.
Pokud chceme mít Linux na desktopu, na přenosných zařízení, je čekání na tradiční init proceduru zdlouhavé, fůra jader CPU zůstává nevyužitá a uživatel čeká. Systemd přišel jako jediná životaschopná alternativa, do které byl někdo ochotný vrazit spoustu času (= peněz). Co vše už systemd podporuje a přenáší jen vyplynulo právě z těchto potřeb.
Na serveru se dá s tradičním initem žít dál a v určitých ohledech to může být jednodušší (= rychlejší, levnější, spolehlivější).
Samozřejmě že to "nějak" funguje, proč by ne, ale přesně za tu cenu že se pak musí dělat takové rozhodnutí aby toto:
"Na serveru se dá s tradičním initem žít dál a v určitých ohledech to může být jednodušší"
ještě nějak platilo. Já nevím jestli je vůbec reálné to udělat jinak než co "udělal" systemd, ale pak otázka o které hlasovali v debianu byla špatná a vyprodukovala odpověď/neodpověď která znamená v podstatě zase nějaké pokračování ve stejném stavu jako do teď.
Nemám nic proti tomu, co se snaží systemd docílit. Nelíbí se mi akorát cesta, jakou to dělá. Něco jako drbat se přes hlavu na zadku.
Vždycky si vzpomenu na Krytona z Červeného trpaslíka v epizodě, kdy Kryton se změní v člověka a zkoumá své tělo a nešťasten z toho, co našel: "To zasedla nějaká komise a rozhodla, že tohle chceme, to je ten ideální tvar, který jsme tak dlouho hledali?"
Jaká by to měla být tedy cesta? Dodatečné rozšiřování integrace do systému je totiž podle mého názoru dalším logickým krokem, je to jedna z hlavních výhod nového přístupu. Byl jsem zezačátku velmi skeptický, ale musím uznat že 90% všech vlastností systemd mi připadá jako velmi užitečné a některé bych dokonc označil na breakthrough (už žádný shell ve skriptech, notifikace dokončení startu démona, cgroups, socket aktivace a další). Tím neříkám, že to dřív nešlo, ale je to jaksi pohodlnější a hlavně jednotné napříč programy.
Daní je těsnější integrace a nutnost přilinkovat knihovnu, což samozřejmě situaci trošku zhoršuje pro autory softwaru. Nicméně už čtyřicet let zde máme autotools a není to nic co by se nedalo nezvládnout. Je to hodně práce, taky spravuju pár balíčků a vím že to není legrace. Myslím si že za 10 let si ale řekneme, že to stálo za to. Alespoň v to doufám.
Bohuzel treba notifikace o dokonceni startu je fajn dokud funguje jak ma. Aktualne napr. resim, ze na jednom stroji z 5 stejnych nemountuje systemd pri startu nfs svazky. Systemd si totiz mysli, ze je online ale rozhrani nema IP, takze mount nefunguje - problem je (asi) nekde mezi NM a systemd. A ted to ladte v te zmeti symlinku a asynchronnich zprav Starting/Started... ja uz to vetsinou vzdavam a i na uzivatelych mi prijde, ze prechazi na Windows metodu - nejde to? Tak preinstaluju system (bez d)... zobecnene je tedy problem stejny jako jinde - problematika systemd zacina byt tak slozita, ze ji rozumi stale mene lidi, z tech, co tomu rozumi se stane vyssi kasta opovrhujici ostatnimi, coz je i pripad systemd, jak nazorne ukazuji ruzne diskuse. V pripade init systemu si ale myslim to neni dobre.
Je pravda, že systemd přidal linuxu instrumentaci, která je slouží podobnému účelu, jak instrumentace ve Windows. Windows mají náskok 17 let (vydání Windows NT vs. systemd), ten je znát. Systemd zase těží z toho, že už implementuje to, co praxe ukázala, že je nejlepší. Za svoji kariéru jsem ve Windows musel ručně měnit závislost služeb jen párkrát. Jenže to je dáno tím, že Windows mají síťování a základní služby pevně dané. U linuxu a systemd mohou nastat kombinace, které nikdo dopředu nemůže předpokládat (co uživatel, to jiný výběr softwaru). Bude trvat roky, než se vychytá, aby nenastávaly situace jako ta, o které zrovna píšete.
Opovržení "vyšší kastou" trochu chápu. Fóra jsou plná dotazů, na které odpoví Google jen obyčejným překopírováním téhož textu do vyhledávacího pole. A jsou plná odpovědí, kdy opravdu zkušenější radí dobrý způsob, jak konkrétní situaci řešit, avšak tazatel si sveřepě trvá na svém, zjevně blbém návrhu. Tam už pak opravdu nemá nikdo trpělivost vysvětlovat úplné základy, které by měl tazatel umět dřív, než se pustí do složitějších úkolů. Obdobně si kdysi lidé rozvrtávali i Windows a pak říkali, jak je to strašný systém. Dnes se něco podobného děje v linuxu, jen s tím rozdílem, že podobní šťouralové nadávají na systemd. V obou případech jde jen o špatný úsudek o tom, v čem se mají vrtat a jestli to zvládnou.
dik za clanok.
osobne cisty debian od Jessie nepouzivam. obcas otestujem ale nepouzivam. Na servey siel Devuan ASCII na desktope uz skoro 3 rok pouzivam MX linux, jednym z dovodov je prave systemd.
Osobne mi je proti srsti, pretoze podla mna porusuje filozofiu linuxu, ale to je moj nazor.
Na jednom stroji mam os so systemd, zistil som ze dokazem robit veci ako aj na init systeme ale "inak".
De facto je jedno ci tam systemd je alebo nie je.
Horsie mi pride ten fanatizmus v presadzovani systemd.
Rozhodnutie hlasovania je relativne dobre, lepsie by ale bola odpoved:
Podpora více různých init systémů je důležitá