3. Признаки несущественные
Некоторые из перечисленных признаков можно исключить без долгих обоснований. Например, доступность дополнительных пакетов практически одинакова для всех дистрибутивов, поскольку любую программу можно скомпилировать из исходных кодов или же создать пакет в специфичном для данного дистрибутива формате. Точно по тем же основаниям можно исключить признак наличия в составе дистрибутива коммерческого ПО, так как никто не может запретить вам купить такое ПО и добавить его в свою систему. Средства локализации включаются сейчас во все дистрибутивы без исключения, разве что не всегда дистрибутив содержит нужные шрифты. Этот признак становится еще более несущественным в связи с наметившимся переходом на Unicode. Еще несколько признаков давайте рассмотрим чуть подробнее.
Структура файловой системы
А.Федорчук в статьях [5,6] предлагал использовать в качестве одного из критериев классификации дистрибутивов структуру каталогов файловой системы. Вероятно, это отличие было существенно в то время, когда была написана статья [5]. В последнее же время набирет ход процесс разработки стандартов для Линукс. В рамках организации Linux Standard Base, ставящей своей целью наладить взаимодействие между разными дистрибутивами и разработать общие стандарты на те или иные компоненты системы (а точнее, даже чуть раньше возникновения этой организации), был разработан стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard - FHS). Следование требованиям стандарта существенно упрощает жизнь создателям программных приложений, потому что обеспечивает нахождение необходимых для приложения компонент программного обеспечения (в частности, библиотек) в известных и строго определенных местах. Поэтому структура каталогов приняла примерно одинаковый вид во всех основных дистрибутивах. Дистрибутив SuSE, например, когда-то упрекали за неполное соответствие стандарту FHS, но в версии 9.2 он уже полностью соответствует версии 2.3 этого стандарта. Даже если фактическая структура каталогов отличается от стандартной, добиться соответствия можно путем использования символических ссылок. Так что выделить по признаку различия структуры файловой системы какие-то четко очерченные группы дистрибутивов не представляется возможным.
Используемая графическая оболочка
Внешний вид экранов компьютеров, на котором запущены различные оконные менеджеры и графические оболочки может различаться очень существенно. Тем не менее, вряд ли стоит используемый менеджер дисплея или графическую среду (KDE vs GNOME) брать за основу какой-то классификации дистрибутивов. Чаще всего дистрибутив изначально предусматривает возможность выбора между несколькими графическими оболочками. А, кроме того, такие оболочки есть не что иное как один из пакетов программного обеспечения и пользователь всегда имеет возможность скачать и установить такой пакет, даже если он первоначально и не входил в выбранный дистрибутив.
Родословная дистрибутива
Большая часть современных дистрибутивов ведет свою родословную либо от Red Hat, либо от Debian. Но происхождение дистрибутива, то есть выяснение того, от какого из ранее существовавших дистрибутивов он отпочковался, представляет, на мой взгляд, чисто исторический интерес. Любой новый дистибутив со временем отдаляется от своего прародителя и может мигрировать как в сторону другого дистрибутива, так и стать основателем какой-то совершенно новой ветви в "дистрибутивостроении". Такие дистрибутивы, например, как Mandrake, Conectiva или PLD, произошли, как известно, от Red Hat, но сейчас уже представляют собой вполне самостоятельные разработки. Более того, существуют уже другие дистрибутивы, являющиеся производными от названных. Так что, хотя происхождение и может в какой-то степени характеризовать дистрибутив для опытных пользователей, все же служить критерием классификации оно не может. Если вас интересует какие дистрибутивы от каких произошли, то на DistroWatch имеется страничка, на которой эти данные приведены.
Процедура определения аппаратуры
Судя по отзывам в разных источниках, средства определения аппаратного обеспечения компьютера в разных дистрибутивах различаются довольно существенно. Широко известно, что дистрибутив Knoppix отличается в этом смысле в лучшую сторону. Однако, я полагаю, что преимущество это временное. В силу открытости всего программного обеспечения Линукс достижения и наработки одного из разработчиков быстро становятся достоянием всех, а поэтому идеи, найденные Клаусом Кноппером, вскорости будут реализованы и в других дистрибутивах. Именно этот свободный обмен идеями и позволяет быстро развиваться свободному софту вообще.
Состав базового устанавливаемого ПО
Чтобы использовать этот критерий, нужно вначале договориться, что мы имеем в виду, когда говорим "базовое ПО". Это понятие было введено и рассматривалось в статьях А.Федорчука (см.
[6,7]). Только его трактовка этого термина имеет отношение скорее к операционой системе как таковой, а не к конкретным дистрибутивам. Когда же речь идет о дистрибутивах, а тем более об их классификации по этому признаку, за "базовое" следовало бы принять тот набор пакетов, который устанавливается программой инсталляции независимо от желания пользователя, то есть даже тогда, когда на этапе выбора пакетов для установки вы снимете отметку со всех пакетов. Но, насколько я знаю, ни одна программа инсталляции не останавливается на той точке, когда установлено это самое "базовое ПО". Так что для выяснения того, насколько разнятся составы этого базового ПО в разных дистрибутивах, пришлось бы провести специальные исследования. Трудоемкий получается критерий! А, кроме того, насколько я могу судить по результатам своих экспериментов по установке Red Hat Linux 9 Cyrillic Edition в минимальной конфигурации (см.
[8]), этот набор трудно назвать минимально необходимым для запуска компьютера. Так что какая уж тут базовость?
Инструменты управления системой
Набор тех программных средств, которые служат для конфигурирования, настройки и оптимизации системы, в каждом дистрибутиве разный. И мнения о том, какие средства для этого лучше всего, сильно разнятся. Одни авторы считают, что кроме редактирования конфигурационных скриптов "ручками", никакие средства и не нужны, другие полагают, что для пользователя необходимы конфигураторы, работающие в графическом режиме. Причем набор графических инструментов для настройки системы практически в каждом дистрибутиве разный (очень красивый инструмент YaST я почему-то не встречал ни в одном другом дистрибутиве). Более того, насколько я помню, даже в последовательных версиях Red Hat этот набор сильно менялся от версии к версии. Если бы существовало небольшое количество стандартных инструментов настройки, из которого создатели дистрибутивов выбирали бы себе наиболее подходящий по их мнению вариант, можно было бы строить критерий классификации по этому признаку. А поскольку многообразие этих средств сравнимо с количеством дистрибутивов, то разумного критерия классификации на этом признаке построить невозможно.
Носитель, с которого запускается система
Среди тех сотен дистрибутивов, которые существуют в настоящее время, имеются как дистрибутивы, устанавливающиеся на жесткий диск и запускающиеся с него, так и дистрибутивы, которые не требуют установки на жесткий диск. В качестве носителя системы может выступать CD-ROM, USB pendrive, дискета или несколько дискет и даже виртуальный диск, созданный в оперативной памяти компьютера. Однако классифицировать дистрибутивы по этому признаку вряд ли целесообразно. В конце концов, мы пытаемся построить классификацию для того, чтобы облегчить выбор дистрибутива для того или иного применения. И не важно, откуда мы систему запустим, важно то, какую задачу система будет выполнять. Ведь ни один дистрибутив не создается с целью просто запустить систему. Даже дистрибутивы на дискетах создаются для запуска системы в качестве маршрутизатора, файервола, для использования компьютера, на котором такая система, в качестве удаленного терминала или станции для выхода в Интернет.
Требования к аппаратуре
Что касается требований к аппаратному обеспечению компьютера, на котором будет запускаться система, то этот признак, на мой взгляд, сливается с признаком назначения дистрибутива. Просто среди сфер применения дистрибутива нужно завести отдельную категорию - дистрибутивы для "слабых" компьютеров. В эту категорию частично войдут и те дистрибутивы, которые запускаются с дискет, если у них нет другого предназначения.
Итак, из первоначально приведеного списка признаков для рассмотрения остаются только организация процедуры начальной загрузки системы, используемая система управления пакетами и сфера применения (ориентация или назначение) дистрибутива. Эти три признака классификации дистрибутивов надо рассмотреть подробнее, чем мы далее и займемся.