Debian-ը վերադառնում է բազմաթիվ init համակարգերի աջակցությանը

Սեմ Հարթման, Debian ծրագրի ղեկավար, փորձել է հասկանալ տարաձայնությունները, որոնք կապված են elogind փաթեթի առաքման հետ՝ որպես բաշխման մաս: Հուլիսին թիմը, որը պատասխանատու է թողարկումների պատրաստման համար արգելափակված elogind-ի ներառումը թեստավորման ճյուղում, քանի որ այս փաթեթը հակասում է libsystemd-ին:

Հիշեցնենք, որ էլոգինդ ապահովում է GNOME-ը գործարկելու համար անհրաժեշտ միջերեսները՝ առանց systemd-ի տեղադրման: Նախագիծը ստեղծվել է որպես systemd-logind-ի պատառաքաղ, տեղադրվել է առանձին փաթեթում և ազատվել համակարգային բաղադրիչներին կապվելուց: Ի թիվս այլ բաների, elogind-ը տրամադրում է libelogind գրադարանի իր տարբերակը, որը ստանձնում է libsystemd-ում առաջարկվող մի շարք գործառույթներ և տեղադրման ժամանակ փոխարինում է այս գրադարանին:

Արգելափակման պատճառներն են եղել հակասությունը systemd փաթեթի հետ և libssystemd-ը այլընտրանքային libelogind-ով փոխարինելու վտանգը, որը լիովին անհամատեղելի է ABI մակարդակի սկզբնաղբյուր գրադարանի հետ:
Փաթեթը պիտակավորում է որպես հակասող systemd գրադարանների հետ, բայց այն ի սկզբանե նախատեսված է աշխատելու միայն առանց systemd-ի, և systemd-ի հետ հակասությունն իրականում ձեռնտու է, քանի որ այն կանխում է elogind-ի սխալ տեղադրումը: Մյուս կողմից, իր ներկայիս տեսքով, APT-ի միջոցով կոնֆիգուրացիան systemd-ից sysvinit-ով և elogind տարբերակով թարմացնելու փորձերը հանգեցնում են. վնասված համակարգ APT-ով չի աշխատում: Բայց եթե անգամ այս թերությունը վերացվի, systemd-ից elogind-ի անցումը մնում է անհնար՝ առանց արդեն տեղադրված օգտատերերի միջավայրերը ջնջելու:

Էլոգինդի մշակողներն էին առաջարկված հարմարեցնել elogind-ը, որպեսզի աշխատի ստանդարտ libpam-systemd-ի վրա՝ առանց սեփական libpam-elogind շերտի օգտագործման: Elogind-ի անցումը libpam-systemd-ին խոչընդոտում է slices-ի հայեցակարգի աջակցության բացակայությունը, սակայն elogind-ի մշակողները չեն ցանկանում հասնել API-ի հետ լիարժեք համապատասխանության և ճշգրիտ կրկնել systemd-ի բոլոր հնարավորությունները, քանի որ elogind-ն ապահովում է միայն նվազագույնը: օգտատերերի մուտքերի կազմակերպման ֆունկցիոնալությունը և նպատակ չունի կրկնօրինակել բոլոր համակարգային ենթահամակարգերը:

Նկարագրված տեխնիկական խնդիրների լուծումը պետք է լուծվի թողարկման թիմի և elogind-ի և համակարգի սպասարկողների միջև փոխգործակցության մակարդակում, սակայն ծրագրի ղեկավարը ստիպված է եղել միջամտել, քանի որ թիմերը չեն կարողացել համաձայնության գալ, համատեղ աշխատանքը վերածվել է առճակատման և խնդրի լուծմանը։ Խնդիրը մտավ փակուղի, որտեղ յուրաքանչյուր կողմ յուրովի ճիշտ էր: Ըստ Սեմ Հարթմանի, իրավիճակը մոտենում է մի պետության, որը պահանջում է ընդհանուր քվեարկություն (GR, ընդհանուր բանաձեւ), որտեղ համայնքը կորոշի այլընտրանքային համակարգեր init-ի և sysvinit-ի աջակցության մասին elogind-ով:

Եթե ​​ծրագրի անդամները քվեարկեն սկզբնական համակարգերի դիվերսիֆիկացման օգտին, ապա բոլոր սպասարկողները կներգրավվեն այս խնդրի լուծման համար միասին աշխատելու մեջ, կամ կոնկրետ ծրագրավորողներ կնշանակվեն աշխատել այս հարցի շուրջ, և սպասարկողներն այլևս չեն կարողանա անտեսել այլընտրանքային սկզբնական համակարգը, լռել կամ մնալ: հետաձգել գործընթացը.

Ներկայումս պահոցում արդեն կուտակված 1033 փաթեթներ, որոնք ապահովում են սպասարկման միավորներ systemd-ի համար, բայց չեն ներառում init.d սկրիպտներ: Այս խնդիրը լուծելու համար առաջարկվել է լռելյայն մատակարարել սպասարկման ֆայլեր, բայց պատրաստել մշակող, որն ավտոմատ կերպով կվերլուծի հրամանները այս ֆայլերից և կստեղծի init.d սկրիպտներ դրանց հիման վրա:

Եթե ​​համայնքը որոշի, որ Debian-ը բավարար աջակցություն ունի մեկ init համակարգի համար, մենք այլևս չենք կարող անհանգստանալ sysvinit-ի և elogind-ի մասին և կենտրոնանալ միայն միավորի ֆայլերի և systemd-ի վրա: Այս որոշումը բացասաբար կանդրադառնա այն նավահանգիստների վրա, որոնք չեն օգտագործում Linux միջուկը (Debian GNU / Hurd, Debian GNU / NetBSD и Debian GNU / kFreeBSD), բայց հիմնական արխիվում դեռ չկան այդպիսի նավահանգիստներ և չունեն կարգավիճակ պաշտոնապես աջակցություն է ստացել.

Systemd-ի հետ կապը նույնպես շատ ավելի կդժվարացնի ապագայում բաշխման ուղղությունը փոխելը և կսահմանափակի հետագա փորձարկումները սկզբնավորման և ծառայությունների կառավարման ոլորտում: Elogind-ը աշխատանքային ձևով պահելը շատ ավելի հեշտ է, քան ջնջելը և նորից ավելացնելու փորձը: Որոշման յուրաքանչյուր տարբերակ ունի դրական և բացասական կողմեր, ուստի քվեարկությունից առաջ անհրաժեշտ կլինի բոլոր դրական և բացասական կողմերի ամբողջական քննարկում:

Source: opennet.ru

Добавить комментарий