Debian sa vracia k podpore viacerých init systémov

Sam Hartman, vedúci projektu Debian, vyskúšal pochopiť nezhody spojené s doručením balíka elogind v rámci distribúcie. V júli tím zodpovedný za prípravu vydaní zablokované zahrnutie elogind do testovacej vetvy, pretože tento balík je v konflikte s libsystemd.

Pripomeňme si, že elogind poskytuje rozhrania potrebné na spustenie GNOME bez inštalácie systemd. Projekt bol založený ako fork systemd-logind, umiestnený v samostatnom balíku a oslobodený od väzby na komponenty systemd. Elogind okrem iného poskytuje vlastnú verziu knižnice libelogind, ktorá preberá množstvo funkcií ponúkaných v libsystemd a počas inštalácie túto knižnicu nahrádza.

Dôvodom blokovania bol konflikt s balíkom systemd a nebezpečenstvo nahradenia libsystemd alternatívnym libelogind, ktorý je úplne nekompatibilný so zdrojovou knižnicou na úrovni ABI.
Balík označuje elogind ako konfliktný s knižnicami systemd, ale je zo svojej podstaty navrhnutý tak, aby fungoval iba bez systemd, a konflikt s systemd je v skutočnosti výhodný, pretože bráni tomu, aby sa elogind omylom nainštaloval. Na druhej strane, v súčasnej podobe pokusy cez APT aktualizovať konfiguráciu zo systemd na verziu so sysvinit a elogind majú za následok poškodený systém s nefunkčným APT. Ale aj keď je tento nedostatok odstránený, prechod zo systemd na elogind zostáva nemožný bez odstránenia už nainštalovaných používateľských prostredí.

Vývojári elogind boli navrhnuté prispôsobiť elogind tak, aby fungoval nad štandardným libpam-systemd, bez použitia vlastnej vrstvy libpam-elogind. Prechod elogind na libpam-systemd je brzdený nedostatočnou podporou konceptu rezov, ale vývojári elogind nechcú dosiahnuť úplnú zhodu s API a presne zopakovať všetky možnosti systemd, keďže elogind poskytuje len minimálne funkcionalitu na organizovanie prihlásení používateľov a jej cieľom nie je replikovať všetky subsystémy systemd.

Riešenie popísaných technických problémov by sa malo riešiť na úrovni interakcie medzi tímom vydania a správcami elogind a systemd, ale vedúci projektu bol nútený zasiahnuť, pretože tímy sa nedokázali dohodnúť, spoločná práca sa rozvinula do konfrontácie a riešenia problému. problém sa dostal do slepej uličky, v ktorej mala každá strana pravdu svojím vlastným spôsobom. Podľa Sama Hartmana sa situácia blíži k stavu vyžadujúcemu všeobecné hlasovanie (GR, všeobecné uznesenie), v ktorom komunita rozhodne o alternatívnych systémoch pre init a podporu pre sysvinit s elogind.

Ak členovia projektu odhlasujú diverzifikáciu init systémov, všetci správcovia budú zapojení do spoločnej práce na vyriešení tohto problému alebo budú poverení konkrétni vývojári, aby pracovali na tomto probléme a správcovia už nebudú môcť ignorovať alternatívny init systém, mlčať, resp. oddialiť proces.

V súčasnosti už v úložisku nahromadený 1033 balíky, ktoré poskytujú servisné jednotky pre systemd, ale nezahŕňajú skripty init.d. Ak chcete vyriešiť tento problém ponúkol štandardne dodáva servisné súbory, ale pripravte handler, ktorý by automaticky analyzoval príkazy z týchto súborov a na základe nich generoval skripty init.d.

Ak sa komunita rozhodne, že Debian má dostatočnú podporu pre jeden init systém, už sa nemôžeme starať o sysvinit a elogind a sústrediť sa len na unit files a systemd. Toto rozhodnutie bude mať negatívny vplyv na porty, ktoré nepoužívajú jadro Linuxu (Debian GNU / Hurd, Debian GNU / NetBSD и Debian GNU / kFreeBSD), ale v hlavnom archíve zatiaľ žiadne takéto porty nie sú a nemajú status oficiálne podporované.

Väzba na systemd tiež značne sťaží zmenu smerovania distribúcie v budúcnosti a obmedzí ďalšie experimentovanie v oblasti inicializácie a správy služieb. Udržiavanie elogindu v funkčnej forme je oveľa jednoduchšie ako jeho vymazanie a následné pokusy o jeho opätovné pridanie. Každá možnosť rozhodnutia má svoje klady a zápory, takže pred hlasovaním bude potrebná úplná diskusia o všetkých pre a proti.

Zdroj: opennet.ru

Pridať komentár