Díky svému pevnému a rozhodnému "možná" dopadá Debian zhruba tak, jako Lidovci v Parlamentu. Pro mě osobně je to velká ztráta, protože před lety jsem Debian považoval za favorita mezi svobodnými distribucemi. Jen díky jejich neschopnosti určit vlastní směr jsem přešel na FreeBSD a nakonec vůbec nelituju. Debian pro mě zůstává, hned po FreeBSD alternativou č. 2. Není to špatné, ale škoda ztráty pozice favorita.
Ač bych do toho politiku netahal, tak to mám stejně. FreeBSD je dneska už pro mě na prvním místě, Debian na druhém. Systemd nezatracuju, ale nelíbí se mi cesta, kterou se dostal na světlo.
Co se týče Debianu, tak myslím, že by bylo správnější udělat fork distribuce, kde část bude jen na systemd a to poctivě a druhá (třetí, čtvrtá) bude poctivě podporovat jiný init. Aktuální kočkopes, kdy fakticky není zcela podporován žádný z init systémů a balíčky nejsou připraveny na daný init, nepovažuji za šťastnou situaci.
V posledních letech jsem narážel na to, že ruzné debian helpery pro konverzi mezi init.d skripty a unitami napáchaly více škody než užitku. Některé unity jsem si napsal sám, protože buď neexistovali (jen přes generátor) nebo byly špatně napsané. To už je lepší používat čistě systemd distribuci.
Patřím k těm co by uvítali "...a druhá (třetí, čtvrtá) bude poctivě podporovat jiný init..." Sám se v tom potácím někde na konci uživatelského řetězce a ještě míň vím o freeBSD. Ten kdo by měl vyhlásit root.cz odklon správným unix směrem jste Vy GURUové pod vedením zvoleného předsedy, navrhuji p.Krčmáře:) Chápu ale jak je to náročný:(
Osobně nemám jasno zda lze napsat tohle: "Ano, můžeš v tom turingovsky úplném shellu například implementovat funkcionalitu systemd".
A-politicky systemd vidím jako něco připomínající diktát EU a nátlak velkých korporací ke škodě svobodného SW, který může mít jedinec plně pod vlastní kontrolou.
správným unix směrem
Otázkou je, co to je. Jedna ze základních myšlenek unixu je vytvářet jednoduché programy, které budou dělat jednu věc a budou ji dělat dobře a budou se umět propojit s ostatními programy. V "klasickém" pojetí se mělo na mysli např. propojení více programů pomocí roury. Jenže to se nestalo samo od sebe a k tomu byl potřeba shell. Takže v interaktivním skriptovacím jazyku (který rozhodně není jednoduchý) se něco lepilo.
Systemd tomuto vůbec nijak nebrání. Je to jiný druh lepidla. Naopak, the systemd way je dělat malé unity (service), spouštějící se podle událostí a reagujících na ně. A můžou být vzájemně propojeny pomocí socketů.
To skutečně není nic proti unixu. Ano, systemd je moloch a možná časem se rozpadne na víc částí, které by mohly transparentně komunikovat třeba pomocí nějaké sběrnice. Co já vím.
A mě osobně toto pojetí (v tom co já dělám) příliš nevyhovuje. Mám rád staticky nastartované služby a jednoduché a rozumně udržované rc skripty. Tak jednoduché, že implementace jailů ve freebsd byla procházka růžovým sadem. A toto mám rád. Místo radikálních změn to dělat dobře (možná pomaleji, ale dobře) a následující změny budou jednoduché. U FreeBSD mám pocit, že u návrhu base systému někdo skutečně přemýšlel. Což se o některých distribucích linuxu říci nedá.
Osobně nemám jasno zda lze napsat tohle: "Ano, můžeš v tom turingovsky úplném shellu například implementovat funkcionalitu systemd".
V každém turingovsky úplném jazyku lze napsat totéž, co ve kterémkoliv jiném turingovsky úplném. Jen je otázkou, zda je to vhodné. Každý jazyk má jiné vyjadřovací prostředky a ne každý se hodí na každý úkol.
připomínající diktát
A politiku bych do toho fakt vůbec netahal. systemd představuje zcela legitimní koncept jak věci dělat a jen by jim slušelo více a lépe vysvětlovat, kam to chtějí směřovat (např. dynamické spouštění služeb na základě událostí místo statického při bootu), možnost ovládání služeb i z jiných zdrojů (dbus, socket activation) apod. Systemd není žádná černá skříňka na magii a rozhodně jej má jedinec plně pod kontrolou. A bugy v implementaci jsou a najdou se u každého programu.
To je pochopitelne, pretoze FreeBSD je stale UNIXom. Linux ale unixom nikdy nebol, iba tak vyzera a snazi sa o POSIX. Inak si ide svojou vlastnou cestou. https://en.wikipedia.org/wiki/Unix_wars#/media/File:Unix_timeline.en.svg
Popravde za celou dobu co distribuce pouzivaji systemd jsem s tim nemel zadny problem (s vyjimkou nutnosti nastudovat si, jak se to konfiguruje).
"systemdmagie" znamena, ze to funguje, ale nenastudoval jsem si proc a jak. zatim co klasicky init moc nefunguje, ale aspon se verejne vi proc a jak. nahradit takovym ne-uplne-funkcnim init systemem funkcni systemd je pak nemozny, pokud clovek nenapise vlastni init, kterej bude komplexni jako systemd.
To ze systemd integruje spoustu veci je trochu blby z hlediska politiky, protoze hromadi zodpovednost. Nicmene mi to vyresilo spoustu problemu s kompatibilitou a podporou. napriklad demon na ntp synchronizaci funguje v systemd lip nez jakykoliv standalone, ktery jsem pouzival predtim.
"zatim co klasicky init moc nefunguje"
V skutocnom Unixe, konkretne AIXe, ktory ma klasicky init a pouziva sa na mnozstvo kritickych 24/7 servroch napriklad v bankovom prostredi, s initom ziadny problem nie je. Tak neviem, kde "soudruzi udelali chybu".
Je skupina lidí, kteří si pořád stěžují na problémy se systemd, a pak je skupina těch, kteří na žádný takový problém nenarazili. Nemám na to žádná data ale připadá mi dost možné, že k těm problémům dochází, když se člověk snaží i po zavedení systemd dál používat systém v unixovém stylu, tj. spravovat služby pomocí skriptů, nastavovat síť pomocí ifconfig nebo ip atd. To celkem pochopitelně koliduje s tím, co "pod povrchem" dělá systemd. Jako takový mi systemd připadá dobrý, ale je jisté, že predstavuje skutečně určitý zlom a přerod od Unixu k něčemu jinému. Osobně mi tento zlom připadá velmi žádoucí.
Narazil jsem na několik výhradně systemd bugů, on žádný systém není bez chyb. Pokud ty věci používáte ne jen na uživatelské úrovni, ale chcete po tom něco víc, tak je to hned.
tj. spravovat služby pomocí skriptů
Jenže to je chyba distribuce. Zrovna Debian se snaží mít vlastní skripty na všechno. Takže, zejména v počátcích přechodu na systemd, tam byly helpery, které se snažily ze service volat systemctl a naopak. Ne vždy to zafungovalo a zejména enable / disable (update-rc.d) nefungovalo snad vůbec.
Ano, řešením bylo tyto věci co nejdřív odinstalovat a používat výhradně systemd příkazy, ale to určitě není správné, pokud vás distribuce v dokumentaci nabádá používat její příkazy.
"...ale je jisté, že predstavuje skutečně určitý zlom a přerod od Unixu k něčemu jinému."
S tym suhlasim, otazne je, do akej miery je Linux stale "Unix-like".
"Linux is a family of open source Unix-like operating systems ...."
https://en.wikipedia.org/wiki/Linux
@klokan Je skupina lidí, kteří si pořád stěžují na problémy se systemd, a pak je skupina těch, kteří na žádný takový problém nenarazili. Nemám na to žádná data ale připadá mi dost možné, že k těm problémům dochází, když se člověk snaží i po zavedení systemd dál používat systém v unixovém stylu, tj. spravovat služby pomocí skriptů, nastavovat síť pomocí ifconfig nebo ip atd
nedavne priklady z praxe...
1. pouzival sem net.ifnames=0 a mel udev pravidlo s max adresama pro ethX pojmenovani 10x sitovek, muzem rict ze jsem to pouzival "postaru" (i kdyz parametr je "moderni a oficialni"), po nejake SW aktualizaci(systemd ci systemd-udev) to prestalo fungovat, musel sem net.ifnames=0 prekonfigurovat to cele (bond + bridge) na silene-nesmyslne-generovany-moderni-panazvy...
2. na jinem streoji sem NEpouzival net.ifnames=0, v stroji byla pouze 1x LAN co mela ten silene-nesmyslne-generovany-moderni-panazev kterej mel garantovat ze jmeno bude pro danou sitovku vzdy stejnej, zakaznik do stroje pridal SATA radic a stroj nebyl ze site dostupnej, nasledne sem zjistit ze se sitovce vygeneroval JINEJ nazev, vyndal SATA radic, sitovka dostala puvodni nazev a v siti byla, takze sem zmenil na novy nazev v konfiguraci, vypnul stroj, pridal se SATA radic, zapnul a sitove dostupne bylo... takhle si ale nepredstavuju nejake vylepseni ktere se chova hure nez pred systemd "genialnima panazvama"...
@k3dar
Nemusíš používat net.ifnames=0 ani udev. Je možnost si jméno iface nastavit přímo v systemd. A ty iface si můžeš matchnout nejen pomocí MAC, ale i podle jiných atributů.
Jak píšu v tom odkazovaném článku, tohle jsou věci, o kterých se bohužel příliš nepíše a lidi potom vymýšlejí různé nesmyslné postupy, přitom to má elegantní řešení.
Já zase dávám přednost tomu, když můžu spravovat věci sám a sám si určit co, kdy a jak poběží. Kdybych chtěl systém, který neprůhledně dělá "pod povrchem" co si sám zamane a kdy si zamane, navíc se neustále mění pod rukama, tak bych používal Windows. Jenže to nechci a proto jsem přešel k Linuxu a proto nepoužívám systemd.
Diky tomu, ze si AIX udelal poradek nekde jinde, nemusi resit problemy jako soucast init-u.
Jasně, nefunkční sysvinit a vždy funkční systemd. Zrovna dneska na Twitteru:
https://twitter.com/JirkaChadima/status/1174634408231473152
A takových věcí je plný Internet.
To víme, že je takových věcí plný internet, ale nikdo jim nebude věnovat pozornost, protože to je jen výkřik do tmy. Není tam ani napsané co se vlastně stalo, takže není možné říct, zda to je chyba systemd a nebo toho člověka, který si v každém postu na Twitteru na něco stěžuje dost svérázným způsobem.
> "systemdmagie" znamena, ze to funguje, ale nenastudoval jsem si proc a jak.
Ne, systemdmagie znamená, že mi došel kinedryl a další paletu kupovat nehodlám.
> To ze systemd integruje spoustu veci je trochu blby z hlediska politiky, protoze hromadi zodpovednost.
Není to trochu blbý, je to hodně blbý. Korunu tomu nasazuje arogance vývojářů.
> "systemdmagie" znamena, ze to funguje, ale nenastudoval jsem si proc a jak
dobrá ... a teď do reality
init se má starat o nahazování a shazování služeb
Proč se ale proboha stará o DNS a NTP? To má nechat systému nebo příslušnému démonu.
SSH v systemd je úplná hovadina a už.loginy přes init démona ... škoda slov.
To co je předváděno v systemd je vlastně to samé co je velká slabina Windows - monolitická struktura na které vše stojí a padá.
Asi je na čase se trochu vzdělat, než psát blbosti: https://www.youtube.com/watch?v=o_AIw9bGogo
Já systemd na většině strojů používám a o DNS ani NTP se mi nestará. O dané věci se starají programy z daného balíku, které jsou ale oddělené a můžeš je nepoužívat (na Debianu je dokonce jejich nepoužití default, alespoň v minimální instalaci). DNS mám jako veřejný resolver odkázaný v ručně napsaném /etc/resolv.conf a na NTP mám někde openntpd, někde ručně spouštěné ntpdate; systemd-resolvněco ani systemd-timesyncd mi nikde neběží. (pozn. tohle není obhajoba systemd, osobně mi přijde z různých důvodů špatný (naštěstí se většina z nich postupně zlepšuje), ale když chceš kritizovat, bylo by dobré dělat to podle skutečnosti)
> v základu řeší spoustu věcí co se v init.d dělali špatně nebo nešli vůbec dořešit.
Tak moment, v init.d (sysvinit) měl člověk shell, a ten je - pokud se nepletu - Turingovsky úplný. Co za problémy nešly dořešit v sysvinit? Neumím si to představit...
Na druhou stranu je systemd překomplikovaný systém, který mění léta zaběhlé defaulty, živí se na parametrech jádra, používá přinejmenším zavádějící pojmy v konfiguraci...
V legacy initech nemůžeš uhlídat procesy. (Teda můžeš - stačí si dopsat něco jako systemd.) To samé závislosti.
Stačí se podívat jaký chlív ty scripty bývaly.
(Jinak ta otázka je samozřejmě stejně dobře položená jako otázka, co nejde napsat v brainfucku.)
21. 9. 2019, 12:27 editováno autorem komentáře
Problém systemd je, že odpůrci se snaží argumentovat, ale ve výsledku předkládají nesmysly.
překomplikovaný systém - Vždyť to je jen nějaké hloupé video.
zaběhlé defaulty - Neexistuje něco jako zaběhlý default a v tomto případě se podle mě systemd chová lépe než jiné inity
živí se na parametrech jádra - Nakonec to bylo vyřešeno.
používá přinejmenším zavádějící pojmy v konfiguraci - Tohle asi není úplně přesně popsaný, protože ten uživatel použil nevalidní username. xinted mu to sežral a systemd ne.
> překomplikovaný systém - Vždyť to je jen nějaké hloupé video.
Ano, a s touhle logikou je systemd jen hromada hloupého zdrojového kódu. Tady už snad ani nemá smysl se dál bavit. Ale pro případ že bych si to vyložil stoprocentně blbě - to video hezky ilustruje, co všechno systemd nabaluje na init.
> zaběhlé defaulty - Neexistuje něco jako zaběhlý default a v tomto případě se podle mě systemd chová lépe než jiné inity
Něco jako zaběhlý default zcela jasně existuje. Například roky nepřítomnost nějakého "fail" parametru v fstab znamenala, že když daný disk nejde připojit, jede se dál (tedy "výchozí" nofail). Systemd to překopal, z podlahy vyrobil strop a všechny disky jsou ve "fail" režimu. Tadá, fakjů.
> živí se na parametrech jádra - Nakonec to bylo vyřešeno.
Ano, nakonec. Nakonec jsme se zbavili i komunismu. To nic nemění na tom, že příčetný vývojář by takový kód neměl napsat a příčetný správce změnu začlenit.
> používá přinejmenším zavádějící pojmy v konfiguraci - Tohle asi není úplně přesně popsaný, protože ten uživatel použil nevalidní username. xinted mu to sežral a systemd ne.
Když do konfigurace napíšu "user = někdo", očekávám, že ta služba poběží pod uživatelem "někdo" a pokud to z jakéhokoliv důvodu nepůjde, tak se nic nespustí a já dostanu vynadáno chybovým hlášením.
Rozhodně neočekávám, že "když to nepůjde, tak se username zkusí převést na user ID a služba se nakonec spustí pod tím".
Nehledě na to, že podle POSIXu (cituji):
3.437 User Name
A string that is used to identify a user; see also User Database. To be portable across systems conforming to POSIX.1-2017, the value is composed of characters from the portable filename character set. The <hyphen-minus> character should not be used as the first character of a portable user name.
A to je právě hezký příklad překomplikovanosti systemd: proč ten kolos musí určovat, jestli je username validní - pokud takový uživatel existuje, je validní, pokud neexistuje, není to chyba validního username, ale chyba neexistujícího uživatele.
I když Linux není Unix a není POSIXem vázaný, základní linuxové nástroje (useradd, adduser) dovolí takového uživatele vytvořit. Ale existující ve světě systemd neznamená validní...?
Navíc viz vyjádření vrchního diktátora systemd, ve kterém zcela jasně nerozumí základům množin... Pokud má být unitfile přenositelný mezi liberálními a konzervativními distribucemi, neměl by systemd uvalovat žádná další pravidla nad rámec té nejliberálnější distribuce. Protože jinak přijde chvíle, kdy unita zařve (a ještě zařve takhle nesmyslně hloupě).
Ještě stále mojí snahu o argumentaci považuješ za nesmysl?
Tak mi konkrétně řekni, co by se rozbilo u chování "user existuje == user je validní volbou, user neexistuje == není validní volbou". Stále nechápu, proč si tam systemd musí cpát tu mezivrstvu, která rozhodne, jestli jde o "správné" uživatelské jméno. A tvé důkazy tvrzením na tom sotva něco změní...
Ked uz zase kopeme do toho mrtveho kona...
User moze byt bud username, alebo UID. Kedze systemd ti nevidi do hlavy, ktore si myslel, ked si to zadaval, tak ked dany string zacina numerickou hodnou, tak je to UID.
Manpage pre useradd hovori:
Usernames must start with a lower case letter or an underscore, followed by lower case letters, digits, underscores, or dashes. They can end with a dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?
Kedze si shadow-utils niektore distribucie opatchovali, aby bolo mozne vytvorit usera s numerickym username, tak si mali opatchovat aj systemd. Ziadny upstream predsa nemoze pocitat s tym, ze niekde nejaky dowstream urobi koninu a cele sa to rozbije. Ked uz robia svojsku integraciu, maju ju dotiahnut dokonca.
“Slysitelne prskani” tak nejak vystihuje miru respektu kterou ma autor k vyvojarum Debianu. Stavet odpurce systemd do jakesi sebemrskaccke role minority s potrebnou inkluzi je usmevne. Je treba mit na pameti ze jakkoli organy rozhodnou, nic to nemusi zmenit protoze jen velmi malo prace podleha review. Tim nerikam ze to nezafunguje ale proste nemusi. Balikovani je drina a kazda uleva je vitana.
Mám na to dva pohledy.
První je pohled člověka, který potřebuje počítač k práci a zábavě. Tam mi je jedno jestli skripty spouští systemd nebo malí skřítci. Chci aby počítač fungoval a umožnil mi dokončit práci.
Druhý pohled je ze strany admina/iťáka kdy chci mít plnou kontrolu nad tím, co v systému mám a co se tam děje, na úkor všeho ostatního. To je třeba proč jsem měl dlouhá léta gentoo a vyhýbal se systemd jako čert kříži.
V dnešní době je trend dělat vše pro první případ. Je to vidět na systemd, nebo i windows 10, androidu a třeba apple to razí téměř od začátku.
Abych neutekl od tématu, co je nejlepší pro debian...těžko říct, mám debian už všude se systemd a přes pár problémů co jsem s tím měl to holt funguje.
Možná by se mohli vydat cestou forku na debian-systemd a debian-openrc, ale nevím jak by se pak daly udržovat balíčky mezi jednotlivými odnozemi. Jedině mít mezivrstvu s nějakým init-generic api, do kterého by se zapojil init jaký chceme? Ale jak by to pak fungovalo...?
SystemD, narozdil od cehokoliv jineho, nasadil predevsim v plnem rozsahu cgroups spolu se spravnou inicializaci MAC. Ty jsou nutne pro containery a chteji je velci hraci, takze se z toho neuhne. Bohuzel si s nimi chteji hrat i male deti, ktere nevidi bezpecnostni rizika a spoustu dalsich dusledku. Takze na Linuxu proste systemd bude a prevalcuje vse ostatni - to je (budouci) realita. Jak to zdegeneruje/zahlti/otravi zacatecniky, kteri s Unix-like systemy teprve prijdou do styku si nedovolim odhadovat.
Sam se primlouvam za to, aby na svete zustal aspon jeden Unix-like system, ktery se tomuhle kontejnerovemu silenstvi vyhne, anebo ho zrealizuje jinym, lepsim zpusobem. Linux to ale uz nebude.
Bohuzel si s nimi chteji hrat i male deti, ktere nevidi bezpecnostni rizika a spoustu dalsich dusledku. Takze na Linuxu proste systemd bude a prevalcuje vse ostatni - to je (budouci) realita. Jak to zdegeneruje/zahlti/otravi zacatecniky, kteri s Unix-like systemy teprve prijdou do styku si nedovolim odhadovat.
To jste popsal velmi přesně. Linux byl dlouhoju dobu atraktivní pro jednu sortu adminů / uživatelů, kteří neměli trpělivost se naučit správně spravovat Windows. Se systemd přišla podobná komplikovanost do linuxu a je tedy logické, že tomuto segmentu uživatelů se ten posun nelíbí. S trochou nadsázky, pro tyto "ortodoxní" unix(-like) adminy je systemd podobné zlo, jako je nutit učit se Active Directory, NTLM, GPO a další komplikované (pokročilé) technologie.
Spravovat správně a bezpečně holý systém není úplně jednoduché. Mnoho lidí si pod pojmem "bezpečnost" představuje to, že mají zapnutý firewall, mnohdy ještě "bezpečnostně posílený" NATEM na routeru. (Mimochodem, na IPv6 spousta adminů používá znovu NAT, ačkoliv IPv6 vzniklo od toho se NATU vyhnout - ale nikdo si netroufne do zoufale nezabezpečených koncových uzlů pouštět ostrý internet). Bezpečnost ale taky znamená celky segmentovat, segregovat uživatele a oprávnění (ne, že všechny servicy běží pod rootem nebo je vše nivelizováno sudem). Software je potřeba aktualizovat (dávno neplatí, že co funguje, na to se nesahá). ..., ..., ... Dobře zabezpečený systém aby člověk pohledal.
Kontejnery jsou v tomto ohledu opravdu šílenství. Dnes si kontejnery instalují programátoři a skoro-ne-admini podle kuchařek na internetu. Vzniká tu obrovská bezpečnostní díra. Co základní operační systémy roky pilují - aby bezpečnost byla výchozím stavem, aby aktualizace bylo možné provádět bez osypek, že se vše rozpadne, ..., to vše nám kontejnery znovu vzaly. A my tomu ještě tleskáme. Děsím se doby, až do nějakého populárního image někdo vpašuje backdoor - víme z praxe, že i velké bezpečnostní chyby zůstávají léta nepovšimnuty. Kdo by pitval image až do posledního atomu?
Takže za mě, kontejnery do produkce nepatří, nebo jsou tak drahé na údržbu, že to většinou setře tu původní motivaci je používat (v praxi se setkávám s kontejnery vnímanými jakožto rychlé, levné cesty). Většinou dokážu najít nekontejnerové řešení téhož problému levněji (při zachování stejné bezpečnosti).
Na druhou stranu, kontejnery jsou super pro vývojáře. Rychlý deploy určité verze a prostědí se hodí při práci na různých projektech. Tam je jejich přínos opravdu velký.
Boj admina je pak uvnitř firmy. Umět vysvětlit, že opravdu nelze jen vzít kontejner od programátora, někam ho nahrát a do hodiny běžet v produkci. Vždyť ten programátor tvrdí, že to takhle dělá a funguje mu to, tak proč nějaký admin říká, že takto to nejde?
Jak jste psal, kontejnery jsou super pro velké hráče, kteří dokáží bezpečnost zajistit hromadně, hromadně nasazovat a udržovat. Tam mohou přicházet zajímavé úspory z rozsahu, aniž by byla bezpečnost narušena. Ale kolika promilím z nás se podaří do takového prostředí dostat?
21. 9. 2019, 08:07 editováno autorem komentáře
Jsou kontejnery a kontejnery. To, co popisujete, se týká hype kolem dockeru a ano, máte pravdu. Ale i docker se dá dělat dobře a automatizovaně, včetně bezpečnostních update.
Osobně doporučuju používat kontejnery (lxc, systemd-nspawn, freebsd jaily) jak jen je to možné. Tedy mít na HW jen nezbytné minimum a všechny služby provozovat v kontejnerech výše uvedeného typu.
Proč. Už jen z důvodu oddělení konfigurace. MX server přece jen vyžaduje jiné nastavení než webserver a moloch typu gitlab sice lze nainstalovat po balíčcích a umístit společně s dalšími 50 službami na stejný server, ale pravděpodobně z toho admin zešílí.
Kontejnery umožňují jednoduché oddělení konfigurace pro to které nasazení. Navíc takto velmi snadno a elegantně můžete oddělit skupiny služeb a IP, na kterých budou poslouchat (tj webserver z MX serveru bude na jiné IP než webserver pro obecné weby - ano, lze v každé jednotlivé službě nastavit listen a bind apod. ale uzavření do kontejneru je jednodušší a zřejmé).
Další věcí je oddělené zálohování. Stačí udělat snapshot toho kterého kontejneru a dumpnout jej na zálohovací server. Každý kontejner lze zálohovat jinak často. Obnova jednoho kontejneru nijak nezasáhne ostatní služby v jiných kontejnerech.
Velmi snadno se to přenáší na jiný server. V případě systemd-nspawn stačí udělat btrfs send na jiný stroj (případně použít příslušný machinectl příkaz), překopírovat jeho konfigurák a spustit. (jaily totéž v bledě modrém, zfs send, jail.conf a je to). Opět, zkuste si zmigrovat jednu službu ze serveru, kde jich máte 50. Musíte udělat dump konkrétní db, konfig pro vhosta, bind na ip apod. Když je to v kontejneru, tak jej prostě pustíte jinde a je to.
Takto by se dalo pokračovat dál. Ano, je to víc práce z hlediska třeba update. Místo jednoho stroje jich updatujete 20 a to už chce třeba nějakou automatizaci. Na druhou stranu, pokud se update jednoho kontejneru nepovede a je nutné jeho služby nastavit pro novou verzi, tak se lze opět zaměřit jen na jeden kontejner a dalších 19 je v klidu.
Každý admin musí zvážit výhody a nevýhody. Pro mě výhody převažují.
Jsou kontejnery a kontejnery. To, co popisujete, se týká hype kolem dockeru (...)
Každý admin musí zvážit výhody a nevýhody. Pro mě výhody převažují.
Naprostý souhlas, dělám to tak stejně. Mě se třeba týká to ZFS a jail, to používám.
Moje kritika směřovala k tomu, že (jak jste správně poznamenal) docker zažívá hype a lidé si to ztotožňují s tím, že něco-kliknu-ejhle-ono-to-jede.
Nastavit např. FreeBSD jail taky není jen tak, minimálně než si na to zavedete pravidla. Docela zajímavé je na base system zavést deduplikaci, protože base files jsou opravdu totožné napříč všemi jaily. Musíte se rozhodnout, jak bude fungovat síťový stack, jestli bude v jailu společný s hostem, nebo jestli bude nezávislý. Podle toho se musí správně nakonfigurovat pf, které se konfiguruje NAD jailem, ne v něm.
...a to všechno, a mnohé další, už je práce admina a ne nějakého klikoše, který si stáhne docker a pak vám vykládá, že admin už není potřeba...
Takže to nakonec co admin to jeho vlastní a čerstvé chyby? To se za to množství práce navíc vyplatí :-D
Proč by musely být? Pokud administraci děláte svědomitě, můžete provozovat klidně i docker. Jen se v tu chvíli vytrácí velká část onoho kouzla "levnějšího řešení", kterou vidí vývojáři a na kterou na první signální reaguje zákazník.
Osobne bych doporucoval nasazovat kontejnery (na Linuxu) jen po zrale uvaze a za prihodnych podminek, nikoliv jak jen to je mozne. Mnozstvi brutalnich bezpecnostnich der v poctu az desitek rocne, minimalne na urovni der Intelskych procesoru, fakticka eliminace SELinuxovych ohradek pro bezici sluzby a pridani dalsi vrstvy do sitove trasy by mi za to v produkci nikde nestalo. Zisk v podobe swarm modu je pro mne bagatelni, protoze zaklad (veskere diskove overlay i snapshoty) zvladnu se SAN a HW virtualizaci, pricemz swarm mod vlastne vubec nikde nepotrebuji. Prinos kontejneru vidim tedy minimalne v mem prostredi jako zanedbatelny, radsi mam HW virtualizaci.
Kiežby bol systemd len init či service manager.
https://systemd-free.artixlinux.org/img/systemd-devours-all.gif
Patrim do kategorie uzivatelu systemd z ciste pragmatickych duvodu :
(viz https://www.root.cz/clanky/debian-se-musi-znovu-vazne-zabyvat-pristupem-k-init-systemum/nazory/1027628/), cituji:
"První je pohled člověka, který potřebuje počítač k práci a zábavě. Tam mi je jedno jestli skripty spouští systemd nebo malí skřítci. Chci aby počítač fungoval a umožnil mi dokončit práci."
Z meho pohledu je mi fakt uplne jedno, jaky init pouzivam, hlavni kriterium je, aby vse co potrebuji fungovalo. A to mi v soucasnosti zarucuje pouze systemd.
Cca pred rokem jsem se pokousel vyhnout systemd (z jakychsi ezoterickych duvodu, kterou jsou tady v diskusi vetsinove zminovany) a presel jsem na MX Linux. Vysledkem bylo, ze jsem neustale resil problem, ze nektere aplikace proste s nicim jinym nez systemd nefunguji. Vyvojari MX to resili a resi vydavanim vlastnich modifikaci balicku, ktere byly kompatibilni s sysVinit, ale samozrejmne je to nekonecna prace, jejiz smysl mi neni uplne jasny.
Pokorne jsem se vratil k LinuxMint se systemd a uz u nej zustanu, a to z jedineho duvodu: Takrka vse trvale a spolehlive funguje jak ma a nemusim nic resit.
Jestli admini a Linux guru-ove maji pocit, ze zvrati soucasny vyvoj Linuxu smerem k systemd, tak se obavam, ze se hluboce pletou. Dokonce se obavam, ze jestli se Debian vyda cestou podpory vice init systemu soucasne resp. k volbe jakehokoli non-systemd init-u, tak se z toho akorat vsichni zblazni.
Nektere veci je nutno prijmout tak jak prichazeji. Duvody pro systemd jsou vice mene jasne a podle mne se docela osvedcily. Navic si je vyvojari aplikaci v drtive vetsine pripadu vzali k srdci a prispusobili se ...