О дистрибутивах Linux
Различия между дистрибутивами Linux сводятся к следующим основным
аспектам:
- программе-инсталлятору;
- логической структуре файловой системы (то есть иерархии каталогов);
- организации сценариев инициализации системы (наряду с традиционным для
Linux стилем, унаследованным от Unix System V, в некоторых дистрибутивах
используется BSD-стиль начальной загрузки);
- формату пакетов, в котором распространяется дистрибутив, и системе
управления оными;
- комплектации пользовательскими приложениями (впрочем, в связи с
"разбуханием" дистрибутивов и широким распространением интегрированных
визуальных сред KDE и GNOME, значимость этого аспекта все более
снижается).
С учетом (в различной мере) этих признаков дистрибутивы Linux традиционно
разделялись на три линии, именуемые по их системам-прародителям: клоны Red
Hat, Slackware, Debian. Были (и, вероятно, существуют по сей день),
разумеется, системы, которые в эту схему не укладывались (например,
Stampede), но они либо не получили распространения, либо использовались в
сугубо специальных целях.
Ныне традиционная классификация не вполне отражает существующее положение.
Клоны Slackware (за исключением Suse, очень далеко отошедшей от прототипа) -
обычно системы специального назначения. Возникающие периодически клоны Debian
так же и исчезают, не найдя широкого применения. И фактически широко
распространены и интенсивно развиваются только многочисленные клоны Red Hat.
При этом наиболее популярные из них - Caldera OpenLinux, Mandrake, у нас -
Altlinux и ASPLinux, также весьма далеко оторвались от прототипа, о котором
напоминает подчас только формат пакетов.
Самое же главное - между представителями всех трех генеральных линий
общего гораздо больше, чем это может показаться. Ибо все это - дистрибутивы
пакетные, основанные на прекомпилированных наборах, в составе которых ядро
Linux, средства поддержки файловых систем, системные и пользовательские
утилиты (то есть то, что можно определить понятием base Linux), плюс оконная
система X, менеджеры окон и интегрированные среды, а также прикладные
программы самого разного назначения (и произвольной, на усмотрение
составителей дистрибутива, комплектации).
Очень важный компонент любого пакетного дистрибутива (и это следует из
определения всей группы) - система управления пакетами. Она включает в себя
не только средства развертывания прекомпилированных бинарных компонентов
программы (исполняемых файлов, разделяемых библиотек, документации и т.д.),
но и инструменты контроля взаимозависимостей пакетов и базу данных для
регистрации устанавливаемых (и, что немаловажно, удаляемых) программ. И здесь
для пакетных дистрибутивов мы также наблюдаем конвергенцию пакетных
дистрибутивов: метод apt-get, разработанный для управления пакетами Debian,
все шире используется для пакетов формата RPM, характерного для клонов Red
Hat.
Рядом рядом с традиционными пакетными системами все более активно
развиваются дистрибутивы, которые именуются Source Based (далее -
SB-дистрибутивы). И которые можно назвать также портированными, ибо основаны
они на аналогах системы портов, идея которой заимствована из FreeBSD. В таких
дистрибутивах из прекомпилированных пакетов устанавливаются, как правило,
только компоненты Base Linux, пользовательские же приложения в более или
менее автоматизированном режиме скачиваются из Сети в виде исходников и
компилируются по определенной схеме, за реализацию которой, собственно,
система портов и отвечает. К таким дистрибутивам относятся, например,
Sorcerer и его модификации -
SourceMage
и Lunar-Linux.
Имеются и промежуточные варианты между пакетными и предельно
портированными. Так, дистрибутив CRUX, помимо базовых компонентов,
содержит некоторый набор прекомпилированных прикладных пакетов. Однако они не
обязательны к установке и могут подменяться (или дополняться) заново
собираемыми посредством портов приложениями. А дистрибутив RockLinux, хотя и устанавливается (вместе
с основными приложениями) из пакетов, содержит средства для
автоматизированного получения полного набора исходников и перестройки всей
системы с самого начала (аналог make world из FreeBSD).