Дебиан и Федора покушавају да реше проблем зависности

Линук дистрибуције се суочавају са проблемом повећања зависности пројеката, мада задржава се број зависности за Питхон, Перл и Руби код У разумним границама, ЈаваСцрипт пројекти увежбавају поделу на врло мале библиотеке, често обављајући једноставну функцију.

Репозиторијум НПМ већ има преко милион пакета и типичне примене везу до стотина зависности, који заузврат имају своје зависности, што отежава одржавање и дистрибуцију традиционалних пакета са ЈаваСцрипт апликацијама на Линук дистрибуцијама.

Због уског преплитања зависности ЈаваСцрипт библиотека, ажурирање било ког пакета с таквим библиотекама у дистрибуцији може разбити друге пакете.

Вези са верзијама погоршавају проблем: Једна библиотека може захтевати да једна верзија зависности ради стабилно, а друга може захтевати другу.

Многи пројекти захтевају најновије верзије библиотека, који не испуњавају увек захтеве за стабилношћу дистрибуције (континуирани развој се практикује у екосистему Ноде.јс користећи најновије верзије оквира, а дистрибуцији је потребна подршка неколико година).

Покушаји поправљања верзија пакета само у дистрибуцији довести до повећања застарелих верзија у спремишту које се годинама није ажурирало. Прекид одржавања једног пакета негативно утиче на многе друге пакете и ствара још више проблема.

Даље, лунакрсне зависности доводе до чињенице да су многе библиотеке Ноде.јс постаје немогуће деинсталирати из системашто заузврат спречава да деинсталирате друге програме Ноде.јс.

Да би се позабавио тим проблемом, Федора пројекат је недавно одобрио план за заустављање подразумеваног формирања засебних пакета са библиотекама које се користе у пројектима заснованим на Ноде.јс.

Одлучио је, почев од Федоре 34, да испоручи само основне пакете за Ноде.јс са интерпретатором, заглављима, примарним библиотекама, бинарним датотекама и основним алатима за управљање пакетима (НПМ, предиво).

У Федора апликацијама спремишта које користе Ноде.јс, дозвољено је уградити све постојеће зависности у пакет, без раздвајања и одвајања библиотека које се користе у одвојеним пакетима.

Уграђивањем библиотека решиће се нереда у малим пакетима, поједноставити одржавање пакета (претходно је одржавач проводио више времена прегледавајући и тестирајући стотине пакета са библиотекама него у главном пакету са програмом), штедећи инфраструктуру од сукоба библиотека и решавају проблеме са повезивањем са верзијама библиотека (одржавачи ће у пакет укључити тестиране и производно тестиране верзије).

Лоша страна интеграције биће компликовање процеса уношења исправки на рањивости у библиотекама, што ће захтевати координисан рад одржавача свих пакета који укључују рањиву библиотеку. Постоји опасност да пакет заборави да ажурира рањиву уграђену библиотеку и да пакет остане непримећен.

Девелоперс оф Дебиан такође расправља о преласку на сличан модел интеграције зависности пакета. Поред Ноде.јс, дискусија се дотиче и стварања пакета за платформу Кубернетес и пројеката на ПХП и Го језицима, за које постоји тенденција поделе на мале зависности. Још није донета одлука, али се нада да ће се временом проблем само погоршавати и пре или касније пројекат ће бити приморан да нешто предузме.

Веб-интерфејс гса (Греенбоне Сецурити Ассистант) за гвм (Греенбоне Вулнерабилити Манагемент) сигурносни скенер наведен је као пример проблема које имају одржавачи пакета.

Испоставило се да је верзија гса испоручена са Дебианом некомпатибилна са новијим верзијама гвм-а, али није било могуће ажурирати гса на тренутну верзију, јер садржи значајне промене и користи нпм за преузимање потребних Ноде.јс библиотека.

Тражених библиотека је превише и захтијевају стварање нових пакета у Дебиану да би их неко могао одржавати, јер Дебианова правила забрањују учитавање вањских компоненти током процеса израде.

izvor: https://lwn.net/


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   Кткк дијо

    Ова фрагментација оквира и библиотека у ЕЦМАсцрипту измакла је контроли.
    Добар чланак.