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, а ще се фокусира само върху unit-файловете и systemd. Такова решение ще има негативно влияние върху портовете, които не използват ядрото на Linux (Debian GNU/Hurd, Debian GNU/NetBSD и Debian GNU/kFreeBSD), но в основния архив все още няма подобни портове и те нямат статус на официално поддържани.

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

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

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