Дистрибутивы Linux: классификация

Проблема классификации дистрибутивов активно обсуждалась несколько лет назад, чему тогда неоднократно отдавал дань и автор этих строк (последний раз здесь).

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

Так, утратило силу краеугольное, казалось бы, разделение дистрибутивов на пакетные, то есть распространяемые в виде прекомпилированных бинарников, и Source Based, целиком собираемые из исходных текстов. Во-первых, из всего разнообразия дистрибутивов Source Based, столь активно развивавшихся ещё лет 5 назад, сколько нибудь значимые позиции сохранил только Gentoo. Прочие же

  • либо эволюционировали в направлении развитых пакетных систем, подобно Archlinux;
  • либо заняли ниши скорее конструирования решений, нежели дистрибуции решений готовых, как RockLinux и T2;
  • либо, наконец, так и не обрели популярности в народе (Sorcerer, SourceMage) или утратили её (CRUX).

Во-вторых и главных: различие между пакетными и Source Based дистрибутивами стирается и по существу. Так, развитые средства управления бинарными пакетами, например, APT, обладают не менее продвинутыми средствами для их сборки из исходников, вплоть до полной перекомпиляции системы одной командой, как в Gentoo. Для которой, напротив, вполне доступны бинарные сборки, полностью избавляющие от необходимости компиляции.

Безнадёжно запутался вопрос о генетике дистрибутивов, и попытка их классификации по происхождению от того или иного предка была бы невозможной -- настолько велико ныне взаимовлияние идей и решений в мире FOSS. Да и смысла в такой классификации не много: как гласит мудрость Востока,

дети похожи не на своих родителей, а на своё время.

К дистрибутивам это приложимо в ещё большей мере, чем к людям.

Ни малейшего смысла сегодня нет и в разделении дистрибутивов на "большие", укомплектованные всевозможным софтом, и "маленькие", содержащие лишь ограниченный набор оного. В каком бы виде ни распространялся установочный носитель, на заполненном до краёв DVD или на установочном компакте в пару сотен мегабайт, это различие нивелируют штатные пакетные репозитории. А ведь на прошлой странице мы видели, что последние -- главный видообразующий признак любого дистрибутива, заслуживающего этого титула.

Даже столь значимое некогда, на мой взгляд, разделение на дистрибутивы "для всех", ориентированные на потребности некоего усреднённого пользователя, и дистрибутивы "для себя", изначально рассчитанные на индивидуализацию, ныне не имеет прежнего значения.

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

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

Так что в сухом остатке мы имеем только старое доброе разделение дистрибутивов по формату используемых пакетов -- ведь как-то классифицировать дистрибутивы всё равно надо, хотя бы в целях упорядочивания изложения при выборе системы.

Однако в классификации по формату пакетов есть и практический смысл. Ведь если считать, что дистрибутив -- это в первую очередь репозиторий пакетов, то именно формат последних и определяет средства и методы доступа к нему.

Благо, устоявшаяся классификация по формату пакетов существует давно, включая дистрибутивы:

  • rpm based;
  • deb based
  • tarball based.

Первые две группы, как легко догадаться, используют пакеты в одноименных им форматах. В третьей группе объединены дистрибутивы, использующие более или менее простые тарбаллы -- скомпилированные компоненты пакета, упакованные утилитой tar и подвергнутые сжатию той или иной утилитой компрессии (gzip, bzip2, а в последнее время и lzma).

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

Именно этой классификацией мы и будем пользоваться, когда перейдём к рассмотрению конкретных систем.

Впрочем, последние годы принесли ещё один, дополнительный, критерий классификации -- по принципу подхода к установке. На протяжении многих лет инсталляторы наиболее прогрессивных дистрибутивов предоставляли пользователю всё большие возможности выбора пакетов. Их можно назвать Системами Селективной инсталляции (ССИ). Самым ярким их представителем является Debian.

Однако незадолго до середины текущего десятилетия наметилась прямо противоположная тенденция: появились дистрибутивы с безальтернативной установкой фиксированного набора приложений. Я бы назвал их Системами Быстрого Развёртывания (СБР -- копирайт на обе аббревиатуры мой). Их типичные представители -- Zenwalk и все варианты Ubuntu.

В таком разделении также есть практический смысл -- оно поможет нам принять окончательное решение, когда придётся делать выбор дистрибутива.


Теги: