История дистрибутива Debian особенно интересна по четырём причинам. Первая – ее длительность и насыщенность событиями, давшими большое количество инноваций, аккумулированных мировым дистроением. Вторая причина – Debian стал основоположником универсалистской тенденции в дистроении, стремившейся охватить весь океан свободного софта. Третья – Debian стал прародителем максимального количества активно развивающихся клонов. И, наконец, четвертая – некоторые из его потомков сравнились по популярности с родителем, а один (Ubuntu) даже превзошёл его (не это ли мечта всех родителей?).
Debian – или, точнее, Debian GNU/Linux, разработчики настаивают именно на таком его именовании, – был создан в 1993 году Яном Мёрдоком (Ian Murdock), и его название образовано сочетанием имен его жены Деборы (Debora) и самого автора – в то время он был студентом Университета Пэрдью (Purdue). Однако очень быстро вокруг Debian выросло сообщество пользователей и разработчиков, и проект приобрёл общественное значение.
Основной идеей раннего (1993– 1995 гг.) Debian были – модуляризация авторских пакетов, сборка этих модулей в качестве дистрибутивных пакетов с детальным описанием их зависимостей, утилита dpkg для управления оными в масштабе одного отдельно взятого пакета. И, под занавес первого акта, dselect – первая система пакетного менеджмента, достойная претендовать на звание именно системы и представляющая собой front-end к dpkg, обеспечивающий автоматическое разрешение зависимостей и установку целевых наборов пакетов. Эти тендеции получили развитие в дальнейшем.
Универсализм Debian проявился на следующем этапе его развития, начиная с 1996 года, когда Яна, ушедшего после окончания университета на службу мировому капиталу (в компанию Progeny), на посту лидера проекта сменил Брюс Перенс – известный адепт Open Source, автор многочисленных публикаций на эту тему и, по совместительству, – тогда еще и немалый чин в компании Pixar. Каковая, к слову сказать, поучаствовала и в поддержке проекта Debian – в том числе, как мы увидим чуть дальше, и идеями.
Будучи по долгу службы связанным со всякого рода мультимедийным софтом, Брюс резонно решил включить его в состав дистрибутива. А там уже был один шаг до того, чтобы инфраструктура Debian охватила практически все изобилие свободного программного обеспечения. Так что с тех пор количество пакетов в дистрибутиве нарастало от версии к версии чуть ли не в геометрической прогрессии, и к настоящему времени с трудом поддаётся исчислению.
Кроме того, на время лидерства Брюса пришлась разработка документов Принципы Свободного Программного Обеспечения Debian и Общественный контракт Debian, а также создание принципов контроля качества включаемых в дистрибутив пакетов. Наконец, именно он предложил систему кодовых имён версий дистрибутива (Potato, Woody и другие) – это были персонажи из мультфильма Toy Story, выпущенного компанией Pixar (вот оно, идейное воздействие масс-медиа!). При этом имя Sid, которое носил соседский мальчик, портящий игрушки, было навсегда закреплено за разрабатываемой версией – как символ того, что разработчики новой версии программы в процессе своей работы подчас вынуждены временно «подпортить» версию старую.
В период 1996– 1999 года Debian, в частности, благодаря политике контроля качества, завоевал признание как серверная платформа и система для технически грамотных пользователей (читай – в первую голову, для разработчиков). При этом он счастливо совмещал в себе качества «системы для себя» и «системы для всех». Первая сторона вопроса обеспечивалась программой dpkg, вторая же стала возможной благодаря ее надстройке – dselect.
Одновременно продолжали развиваться универсалисткие тенденции дистрибутива – не только вглубь океана Open Source Software, но и вширь – переносясь на архитектуры, отличные от i386. В интервале 1996– 1999 года Debian был портирован на платформы 68XXX, Alpha, затем – Sparc и PowerPC, Intel64 (так называемый Merced) и AMD64.
Важнейшей, наверное, вехой в развитии Debian (и не только его) стал выпуск весной 1999 года версии 2.1 Slink (Slinky – это такая собачка из того же мультика). И судьбоносность ее определяется тем, что в нее впервые был включён apt – универсальный инструмент для управления пакетами, который и создал позднее условия для широкого распространения Debian-клонов.
Значение apt переоценить трудно – он не только был портирован в дистрибутивы, использующие формат пакетов rpm, не только послужил прообразом для многих других систем управления пакетами, претендующими на универсальность (yum, urpmi), но и оказался своего рода связующим звеном между пакетными дистрибутивами и системами Source Based, поскольку обеспечивал не только установку бинарных пакетов. но и их построение (вплоть до тотальной пересборки системы, подобно сакраментальному make world из FreeBSD). Впрочем, все это стало ясно много позднее, по крайней мере, широким пользовательским массам.
Не случайно именно к 1999 году относятся первые попытки создания на базе Debian Систем Быстрого Развёртывания, таким, как Storm Linux и Corel Linux. Но это история, до которой мы доберёмся ещё не скоро.
Red Hat: совсем для всех?
Если Slackware продолжил исконно UNIX’овую традицию систем для себя, а Debian являет собой первый пример дистрибутива, развиваемого сообществом и для сообщества, то следующим шагом дистроения стало создание дистрибутива, претендующего быть системой для всех.
Ибо тем временем обозначилась первая сфера практического применения Linux за пределом круга разработчиков программного обеспечения – сервера сетевых служб, в том числе – web-сервера. Это вызвало к жизни вторую волну дистрибутивов (правда, по времени она практически пересеклась с первой – но в те героические годы счет вёлся на месяцы, если не на дни). И первой ласточкой её стал Red Hat, который м создавался как дистрибутив «для всех» – хотя, конечно, под понятие «все» тут попадали в первую очередь администраторы компьютерных сетей (время Linux’а для конечного пользователя ещё не пришло). Но важно, что Red Hat представлял собой не набор для конструирования собственной системы, как Slackware (да и Debian в те годы, до разработки apt, также скорее предполагал собственное конструирование, нежели готовое решение), а попытку создания системы, работающей «из коробки».
Было время на Руси, когда
Говоришь Linux – подразумеваешь Red Hat. Говоришь Red Hat – подразумеваешь Linux.
Дистрибутив Red Hat – третий в ряду ныне живущих патриархов дистроения, после Slackware и Debian (хотя, повторяю, приоритет тут исчисляется первыми месяцами). Он разрабатывается с 1993 года, в октябре 1994 года появилась первая общедоступная бета-версия, а в мае 1995 года – первый официальный релиз.
В отличие от Slackware, созданного и развивавшегося кустарём-одиночкой с персональным компьютером, и Debian, вокруг которого быстро сложилось сообщество разработчиков, за Red Hat с самого начала его разработки стояла одноимённая коммерческая компания. Основали её Боб Янг (Bob Young) и Марк Юинг (Marc Ewing) в 1993 году, имея целью поставить свободное слово на службу мировому капиталу.
Происхождение названия дистрибутива (красная шляпа) и соответствующего логотипа объясняют тем, что Юинг в студенческие годы рассекал по колледжу в дедушкином шапо соответствующего колёру. Хотя Янг объясняет его тем, что красный цвет в дзэн-буддизме символизирует всякие хорошие качества.
Это была первая попытка монетизации свободного софта: сам дистрибутив распространялся свободно, в соответствие с лицензией GPL, и бесплатно (по цене носителей и доставки), деньги же предполагалось извлекать из технической его поддержки. А поскольку оплачивать таковую обычно готовы не частные лица, а организации, то Red Hat изначально был ориентирован на корпоративную сферу – во-первых, и на дружелюбие к пользователю – во-вторых.
Правда, следует учесть, что хотя шире стал круг пользователей, но связь их с народом не стала особенно ближе: расширился он за счёт сисадминов, до приобщения к Linux’у пользователей «простых» оставалось ещё несколько лет.
Настоящие сисадмины, как известно, люди занятые – с одной стороны, и ленивые – с другой. Возиться с конструированием системы им обычно не с руки. И потому Red Hat с самого начала отличался простотой установки – максимально возможной в те времена.
Значительную роль в упрощении процедуры установки и поддержки сыграл формат пакетов RPM (что тогда расшифровывалось как Red Hat Package Manager) и одноимённая утилита для манипулирования такими пакетами, способная отслеживать зависимости и сообщать об их нарушении (но ещё не разрешать их автоматически). По сравнению с молчаливым пакетным инструментарием из Slackware, способным установить неработоспособную, из-за нарушения зависимостей, программу, это казалось большим прогрессом.
Происхождение системы rpm (будем понимать под этим и набор утилит, и формат пакетов, с которыми они работают) теряется во мраке веков. В первых версиях Red Hat использовалась система RPP, обеспечивающая установку пакетов одной командой, проверку зависимостей и запрос информации о них. Однако сборка пакетов для неё требовала существенной модификации исходников, что было напряжно для разработчиков.