Debian se vrací k podpoře více init systémů

Sam Hartman, vedoucí projektu Debian, zkusil pochopit neshody spojené s doručením balíčku elogind v rámci distribuce. V červenci tým zodpovědný za přípravu vydání blokováno zahrnutí elogind do testovací větve, protože tento balíček koliduje s libsystemd.

Připomeňme si, že elogind poskytuje rozhraní potřebná ke spuštění GNOME bez instalace systemd. Projekt byl založen jako fork systemd-logind, umístěn v samostatném balíčku a osvobozen od vazby na komponenty systemd. Elogind mimo jiné poskytuje vlastní verzi knihovny libelogind, která přebírá řadu funkcí nabízených v libsystemd a během instalace tuto knihovnu nahrazuje.

Důvodem zablokování byl konflikt s balíčkem systemd a nebezpečí nahrazení libsystemd alternativním libelogind, který je na úrovni ABI zcela nekompatibilní se zdrojovou knihovnou.
Balíček označuje elogind jako konfliktní s knihovnami systemd, ale je ze své podstaty navržen tak, aby fungoval pouze bez systemd, a konflikt s systemd je ve skutečnosti prospěšný, protože brání tomu, aby byl elogind nainstalován omylem. Na druhou stranu v současné podobě pokusy přes APT o aktualizaci konfigurace ze systemd na verzi s sysvinit a elogind mají za následek poškozený systém s nefunkčním APT. Ale i když je tento nedostatek odstraněn, přechod ze systemd na elogind zůstává nemožný bez smazání již nainstalovaných uživatelských prostředí.

Vývojáři elogind byli navrženo přizpůsobte elogind, aby fungoval nad standardním libpam-systemd, bez použití vlastní vrstvy libpam-elogind. Přechod elogind na libpam-systemd je brzděn nedostatečnou podporou konceptu slices, ale vývojáři elogind nechtějí dosáhnout plné shody s API a přesně opakovat všechny schopnosti systemd, protože elogind poskytuje pouze minimální funkčnost pro organizaci uživatelských přihlášení a jejím cílem není replikovat všechny systemd subsystémy.

Řešení popsaných technických problémů by mělo být řešeno na úrovni interakce mezi týmem vydání a správci elogind a systemd, ale vedoucí projektu byl nucen zasáhnout, protože se týmy nemohly dohodnout, společná práce se rozvinula v konfrontaci a řešení problému. problém se dostal do slepé uličky, ve které měla každá strana pravdu svým vlastním způsobem. Podle Sama Hartmana se situace blíží stavu vyžadujícímu obecné usnesení (GR), ve kterém komunita rozhodne o alternativních systémech pro init a podporu pro sysvinit s elogind.

Pokud členové projektu odhlasují diverzifikaci init systémů, budou všichni správci zapojeni do společné práce na vyřešení tohoto problému nebo budou konkrétní vývojáři pověřeni prací na tomto problému a správci již nebudou moci ignorovat alternativní init systém, mlčet nebo zpozdit proces.

Aktuálně již v úložišti nahromaděné 1033 balíčky, které poskytují servisní jednotky pro systemd, ale nezahrnují skripty init.d. Chcete-li tento problém vyřešit nabídl ve výchozím nastavení dodávejte soubory služeb, ale připravte handler, který by automaticky analyzoval příkazy z těchto souborů a na jejich základě generoval skripty init.d.

Pokud komunita usoudí, že Debian má dostatečnou podporu pro jeden init systém, už se nemůžeme starat o sysvinit a elogind a soustředit se pouze na soubory jednotek a systemd. Toto rozhodnutí bude mít negativní dopad na porty, které nepoužívají linuxové jádro (Debian GNU / Hurd, Debian GNU / NetBSD и Debian GNU / kFreeBSD), ale v hlavním archivu zatím žádné takové porty nejsou a nemají status oficiálně podporováno.

Vazba na systemd také značně ztíží budoucí změnu směru distribuce a omezí další experimentování v oblasti inicializace a správy služeb. Udržování elogindu ve funkční podobě je mnohem jednodušší než jeho smazání a následné pokusy o jeho opětovné přidání. Každá možnost rozhodnutí má své klady a zápory, takže před hlasováním bude vyžadována úplná diskuse o všech pro a proti.

Zdroj: opennet.ru

Přidat komentář