Debian se vrača k podpori za več sistemov inicializacije

Sam Hartman, vodja projekta Debian, poskusil razumeti nesoglasja, povezana z dostavo paketa elogind kot del distribucije. V juliju ekipa, odgovorna za pripravo izdaj blokiran vključitev eloginda v vejo testiranja, ker je ta paket v sporu z libsystemd.

Spomnimo se tega elogind ponuja vmesnike, potrebne za zagon GNOME brez namestitve systemd. Projekt je bil ustanovljen kot fork systemd-logind, postavljen v ločen paket in osvobojen vezave na komponente systemd. Med drugim elogind nudi lastno različico knjižnice libelođind, ki prevzame številne funkcije, ki jih ponuja libsystemd, in nadomesti to knjižnico med namestitvijo.

Razloga za blokado sta bila konflikt s paketom systemd in nevarnost zamenjave libsystemd z alternativnim libelogindom, ki je popolnoma nezdružljiv z izvorno knjižnico na ravni ABI.
Paket označuje elogind kot navzkrižja s knjižnicami systemd, vendar je sam po sebi zasnovan tako, da deluje samo brez systemd, navzkrižje s systemd pa je dejansko koristno, ker preprečuje pomotoma namestitev eloginda. Po drugi strani pa v trenutni obliki poskusi prek APT posodobiti konfiguracijo iz systemd na različico s sysvinit in elogind povzročijo poškodovan sistem pri čemer APT ne deluje. A tudi če to pomanjkljivost odpravimo, ostane prehod s systemd na elogind nemogoč brez izbrisa že nameščenih uporabniških okolij.

Razvijalci elogind so bili predlagano prilagodi elogind za delo na vrhu standardnega libpam-systemd, brez uporabe lastne plasti libpam-elogind. Prehod eloginda na libpam-systemd ovira pomanjkanje podpore za koncept rezin, vendar razvijalci eloginda ne želijo doseči popolne skladnosti z API-jem in natančno ponoviti vseh zmožnosti systemd, saj elogind zagotavlja le minimalno funkcionalnosti za organiziranje prijav uporabnikov in ni namenjen podvajanju vseh podsistemov systemd.

Rešitev opisanih tehničnih problemov naj bi se reševala na ravni interakcije med izdajno ekipo in vzdrževalcema elogind in systemd, a je bil vodja projekta prisiljen posredovati, ker se ekipe nista mogli dogovoriti, skupno delo se je razvilo v soočenje in rešitev za problem je zašel v slepo ulico, v kateri je imela vsaka stran po svoje prav. Po mnenju Sama Hartmana se situacija približuje stanju, ki zahteva splošno glasovanje (GR, splošna resolucija), v katerem se bo skupnost odločila o alternativnih sistemih za init in podporo za sysvinit z elogind.

Če člani projekta glasujejo za diverzifikacijo sistemov inicializacije, bodo vsi vzdrževalci vključeni v skupno delo pri reševanju te težave ali pa bodo določeni razvijalci dodeljeni za delo na tem vprašanju in vzdrževalci ne bodo mogli več prezreti alternativnega sistema inicializacije, ostati tiho ali odložite postopek.

Trenutno je že v skladišču nakopičeno 1033 paketov, ki zagotavljajo storitvene enote za systemd, vendar ne vključujejo skriptov init.d. Za rešitev tega problema ponujen privzeto dobavi storitvene datoteke, vendar pripravi upravljalnik, ki bi samodejno razčlenil ukaze iz teh datotek in na njihovi podlagi ustvaril skripte init.d.

Če se skupnost odloči, da ima Debian dovolj podpore za en sam init sistem, ne moremo več skrbeti za sysvinit in elogind in se osredotočamo samo na datoteke enot in systemd. Ta odločitev bo negativno vplivala na vrata, ki ne uporabljajo jedra Linuxa (Debian GNU / Hurd, Debian GNU / NetBSD и Debian GNU / kFreeBSD), vendar v glavnem arhivu še ni takšnih vrat in nimajo statusa uradno podprt.

Vezava na systemd bo tudi močno otežila spreminjanje smeri distribucije v prihodnosti in bo omejila nadaljnje eksperimentiranje na področju inicializacije in upravljanja storitev. Ohranjanje eloginda v delujoči obliki je veliko lažje kot brisanje in nato ponovno dodajanje. Vsaka možnost odločitve ima prednosti in slabosti, zato bo pred glasovanjem potrebna popolna razprava o vseh prednostih in slabostih.

Vir: opennet.ru

Dodaj komentar