Hlavní navigace

Debian se musí znovu vážně zabývat přístupem k init systémům

David Ježek

Před pěti lety vývojáři Debianu rozhodli o tom, že dají volný průběh podpoře init systémů a nebudou vynucovat systemd ani se mu stavět na odpor. Tím se však definitivní řešení jen oddálilo a problémy se vrší.

Doba čtení: 3 minuty

Sdílet

Připomeňme ve stručnosti, že linuxová distribuce Debian, která je po léta známá svým otevřeným přístupem k řízení vlastního chodu, před nějakou dobou řešila přechod na init systém systemd (mimochodem už je tomu víc než pět let).

To mimo jiné dalo vzniknout forku Devuan, ale s ohledem na to, jak postupně systemd protkává linuxový ekosystém, byli vývojáři Debianu postaveni před řešení otázky, jak/jestli nadále držet takovou diverzitu init systémů v rámci Debianu, jakou historicky má.

Tehdy padlo rozhodnutí, že se nic rozhodovat nebude a věci se nechá volný průběh, což byla pochopitelně jen cesta jak řešení očekávaných problémů odsunout do budoucna. To se psal rok 2014. Budoucnost nastala nyní.

Otázka volby init systému je zpět

Aktuální šéf projektu Debian, Sam Hartman, ve svých srpnových poznámkách popisuje frustraci a problémy, které ze zachované plné diversity init systému v Debianu plynou, s ohledem na konání některých vývojářů vyvíjejících úsilí v udržení životaschopnosti alternativ k systemd v Debianu.

Poznámka: Michael Larabel z Phoronixu tuto věc komentuje tak, že jiné init systémy jsou v Debianu považovány za alternativu k systemd. Tento „více než init systém“ už zkrátka bývá vnímán jako výchozí volba, oproti které se jiné srovnávají, nikoli naopak (jak tomu mohlo být v počátečních fázích nasazování tohoto projektu v linuxových distribucích).

Sam Hartman dále hovoří o problému s elogind a kooperace s těmi, kdo v Debianu mají na starosti systemd a v neposlední řadě relase týmem Debianu. Jelikož je elogind mnohými distribucemi používán jako jiná implementace logind ze systemd, představuje jednu z částí skládačky pro ty, kdož chtějí obecně řečeno udržovat linuxovou distribuci bez systemd. Projekt elogind shrnuje třeba Gentoo Wiki, jakožto nástroj pro ty, kdo nechtějí systemd, ale chtějí KDE/Wayland či GNOME, což jinak sebou nese závislost na systemd.

Je třeba určit směr

Zkrátka tedy v srpnu Sam dospěl k přesvědčení, které ventiluje směrem ke komunitě. Podle něj projekt došel do bodu, kdy je potřeba o věci hlasovat a vydat nějaké obecné rozhodnutí. Což je přesně to, čemu se při hlasování před pěti lety vývojáři Debianu vyhnuli. Kromě onoho obecného rozhodnutí by se měli vývojáři také sami sebe zeptat, jak oddaní jsou jednotlivým aspektům diskuse o diversitě init systémů.

Jednou z možností výstupu z takového hlasování může být znovu ujištění o podpoře pro sysvinit a elogind. Pokud by tato volba prošla, bude očekáváno, že všichni dotčení maintaineři toto budou respektovat, případně budou určeni vývojáři, kteří na tom v dané oblasti zapracují. Zkrátka aby případná nová proklamace podpory ne-systemd cesty nebyla jen papírová, protože jednotliví vývojáři Debianu soustředí své síly jen na systemd.

Aktuálně je v systému více než 1000 instancí, kde Lintian (nástroj Debianu pro hledání chyb a porušení politik v balíčcích) detekuje neexistenci init.d skriptu. Falešně pozitivní detekce se jeví být vysoká hlavně u balíčků, které porušují integraci systemd. Věc se podrobněji řeší v rámci debian-devel ve smyslu přehození z init skriptů na service units.

Možná sysvinit a init skripty prostě měly svoji šanci a je čas jít dál, pryč od init skriptů. Debian by tak mohl přestat zohledňovat sysvinit, ale to by dostalo nelinuxové varianty do poměrně nešťastné pozice – ale opět zde Sam dodává, že aktuálně zrovna v hlavním archivu Debianu není jediný nelinuxový port Debianu.

Svobodná nebo jednodušší cesta?

Blíží se tedy znovu moment, kdy Debian bude rozhodovat, zda jít cestou „systemd-komformismu“ nebo zachování diversity init systému. To první zjednoduší život celému Debianu, ale na úkor „menšin“, to druhé udrží Debian flexibilnější „platformou operačních systémů“ (mohu-li jej v tomto kontextu takto volně označit), ale za slyšitelného prskání nemála vývojářů, případně jejich ignorování řešení podpory pro jiné init systémy.

Všeobecně přijatelný kompromis se v tomto případě asi bude rodit v poměrně slušných bolestech, pokud vůbec.