23 мая, 2012

Карманы как альтернатива форку дистрибутива

Появление новых дистрибутивов(а так же форков существующих) Linux происходит в двух случаях: непомерное ЧСВ нескольких людей или отсутствие готового решения для заметной ниши. Для предотвращения форков второго типа придумано вполне работающее решение - карманы.

В реальной жизни администратор, чего-то большего чем localhost, регулярно сталкивается с тем, что решить задачу средствами любимого дистрибутива невозможно. Путей решения несколько:

  • связаться с мантейнером пакета и попросить изменить параметры сборки(если проблема в этом) или попросить кого-нибудь собрать недостающий пакет в дистрибутив
  • собрать пакет самостоятельно и взять на себя ответственность за его сопровождение
  • стать мантейнером дистрибутива и попросить передать пакет или подготовить альтернативную сборку
  • использовать другой дистрибутив для решения данной задачи
С последним вариантом все понятно - он подходит для крупных компаний, где штат администраторов состоит из нескольких человек. Разводить зоопарк дистрибутивов при ограниченных ресурсах смысла не имеет.

Стать мантейнером дистрибутива сложно по многим причинам - бюрократические препятствия, нехватка свободного времени, недостаточный уровень английского для участия в дискуссиях и т.д.

Самостоятельная сборка является вероятным источником больших проблем в будущем, особенно если она выполнена аля slackware: ./configure && make && make install. Любое очередное обновление может сломать работоспособность системы, а запрет на обновление рано или поздно приведет ко взлому. Даже правильная сборка в виде пакета (deb или rpm - не суть важно) не решает проблем с обновлениями, хотя и позволяет узнать о них еще до того, как система развалиться.

Общение с мантейнерами в багзиле,списках рассылки и/или форумах является наиболее предпочтительным путем. Но бывают ситуации, когда требуемое изменение решает проблему незначительной части пользователей и создает их всем остальным. Незначительная часть относительно всех пользователей на самом деле может являться довольно большим числом людей в абсолютном значении. Ранее в такой ситуации происходил форк.

Еще во времена моего участия в ALTLinux Team я настаивал на приоритетности развития именно этой функциональности сборочного сервера. Карманы в Ubuntu, OBS в Suse -  позволяют не только собрать альтернативные пакеты, они позволяют их легко найти, получить метаданные о пакетах: что и зачем было сделано, когда и насколько удачно прошло пересборку и т.д. Карманы позволяют дистрибутиву занять пусть не большие, но важные ниши и увеличить количество квалифицированных пользователей. Отсутствие такой функциональности приводит к форку или оттоку пользователей в другие проекты. 

Комментариев нет: