Debian се връща към въпроса за поддръжката на няколко системи за инициализация

Сем Хартман (Sam Hartman), ръководител на проекта Debian, се опита да разбере разногласията, свързани с доставката на пакета elogind в дистрибуцията. През юли екипът, отговарящ за подготовката на версиите, блокира включването на elogind в тестовата ветка, тъй като този пакет конфликтува с libsystemd.

Напомняме, че elogind предоставя интерфейси, необходими за работа на GNOME без инсталирано systemd. Проектът е основан като разделение от systemd-logind, прехвърлено в отделен пакет и освободено от свързаността с компонентите на systemd. Включително elogind предлага своя версия на библиотеката libelogind, която поема редица функции, предлагани в libsystemd, и заменя тази библиотека при инсталация.

Като причини за блокировката е посочен конфликтът с пакета systemd и опасността от подмяна на libsystemd с алтернативната версия libelogind, която не е напълно съвместима с оригиналната библиотека на ниво ABI.
В пакета elogind е маркиран като конфликтуващ с библиотеките systemd, но по същество е проектиран да работи само без systemd, а конфликтът със systemd дори е полезен, тъй като не позволява инсталирането на elogind по погрешка. От друга страна, в текущото си състояние опитите чрез APT да се обнови конфигурацията от systemd на версия с sysvinit и elogind водят до получаване на повредена система с неработещ APT. Но дори при корекция на този недостатък, преминаването от systemd към elogind остава невъзможно без премахване на вече инсталираните потребителски среди.

На разработчиците на elogind им беше предложиха необходимо да адаптират elogind за работа на базата на стандартния libpam-systemd, без използването на собствена прослойка libpam-elogind. Преходът на elogind към libpam-systemd се затруднява от липсата на поддръжка на концепцията за слайсове, но разработчиците на elogind не желаят да постигнат пълна съвместимост на API и да повторят всички функции на systemd, тъй като elogind просто предоставя минимална функционалност за организиране на входа на потребителите и няма за цел да повтори всички подсистеми на systemd.

Решаването на описаните технически проблеми трябва да се извършва на ниво взаимодействие между екипа, който пуска релизите, и поддържащите elogind и systemd, но проектният лидер бе принуден да се намеси, тъй като екипите не успяха да се споразумеят, съвместната работа прерасна в противостояние и решаването на проблема достигна до задънена улица, в която всяка страна е права по свой собствен начин. Според Съм Хартман, ситуацията приближава до състояние, изискващо провеждане на общо гласуване (GR, general resolution), в което общността ще вземе решение относно алтернативните системи за инициализация и поддръжката на sysvinit с elogind.

Ако участниците в проекта гласуват за диверсификация на системите за инициализация, всички поддържащи лица ще бъдат включени в съвместната работа по решаването на тази задача или ще бъдат назначени специално отговорни разработчици, които да работят по този проблем, а съпровождащите няма да могат повече да игнорират алтернативната система за инициализация, да замълчават или да забавят процеса.

В момента в хранилището вече са натрупани 1033 пакета, предоставящи сервизни единици за systemd, но не включващи скриптове init.d. За решаване на този проблем се предлага трябва да се предоставят по подразбиране service-файлове, но да се подготви обработчик, който автоматично да интерпретира командите от тези файлове и да генерира скриптове init.d на тяхна основа.

Ако общността реши, че в Debian е достатъчна поддръжката на една система за инициализация, може да се спре да се внимава за sysvinit и elogind, като се съсредоточи само върху единичните файлове и systemd. Такова решение негативно ще повлияе на портовете, които не използват ядрото на Linux (Debian GNU/Hurd, Debian GNU/NetBSD и Debian GNU/kFreeBSD), но в основния архив на подобни портове все още няма и те нямат статус официално поддържани.

Привързването към systemd също значително ще затрудни промяната на посоката на развитие на дистрибуцията в бъдеще и ще ограничи провеждането на допълнителни експерименти в областта на инициализацията и управлението на услуги. Поддържането на elogind в работно състояние е значително по-лесно, отколкото да го премахнеш и след това да се опиташ да го добавиш отново. Всеки вариант на решението има плюсове и минуси, затова преди гласуването ще е необходимо всестранно обсъждане на всичкиArgumentи за и против.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster