О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

01.08.2008

Debian: история в клонах

Citkit, 14 марта 2006 г


О дистрибутиве Debian вкратце уже говорилось в историческом обзоре, посвященном истории Linux в мировом масштабе. Однако его история заслуживает более подробного рассмотрения по четырем причинам. Первая к тому причина - длительность его истории и ее насыщенность событиями, давшими большое количество инноваций, аккумулированных мировым дистростроением. Вторая причина - Debian стал основоположником универсалистской тенденции в дистростроении, стремившейся охватить весь океан свободного софта. Третье - как показано в статье о Linux-дистрибуции, именно Debian стал прародителем максимального количества активно развивающихся клонов. И, наконец, четвертое - некоторые из его потомков сравнились по популярности с родителем, а один (Ubuntu) даже превзошел его (не это ли мечта всех родителей?).

Debian - или, точнее, Debian GNU/Linux, позднее мы увидим, почему разработчики настаивают именно на таком его именовании, - входит в число патриархов ныне живущих дистрибутивов. Как уже говорилось в одной предыдущих статей, он был создан в 1993 году Яном Мердоком (Ian Murdock), и его название образовно сочетанием имен его жены Деборы (Debora) и самого автора - в то время он был студентом Университета Пэрдью (Purdue). Однако очень быстро вокруг Debian выросло сообщество пользователей и разработчиков, и проект приобрел общественное значение (http://www.debian.org).

Основной идеей раннего (1993-1995 гг.) Debian были - модуляризация авторских пакетов, сборка этих модулей в качестве дистрибутивных пакетов с детальным описанием их зависимостей, утилита dpkg для управления оными в масштабе одного отдельно взятого пакета, и, под занавес первого акта, dselect - первая система пакетного менеджмента, достойная претендовать на звание именно системы и представляющая собой front-end к dpkg, обеспечивающий автоматическое разрешение зависимостей и установку целевых наборов пакетов. Эти тендециии получили развитие в дальнейшем - но никаких стремлений к универсализму по имеющимся источникам пока не прослеживается.

Универсализм Debian проявился на следующем этапе его развития, начиная с 1996 года, когда Яна, ушедшего после окончания университета на службу мировому капиталу, на посту лидера проекта сменил Брюс Перенс - известный адепт Open Source, автор многочисленных публикаций на эту тему и, по совместительству, - немалый чин в компании Pixar. Каковая, к слову сказать, поучаствовала и в поддержке проекта Debian - оборудованием и, видимо, финансами (и даже, как мы увидим чуть дальше, идеями).

Маленькое отступление: как сказал бы бухгалтер Берлага, не в интересах правды, а в интересах истины нужно отметить: когда говорят о числе сопровождаемых проектом Debian пакетов, не следует забывать о их модульности. И потому прямое количественное сравнение с числом поддерживаемых портов FreeBSD или портежей Gentoo, каждый из которых, за редкими исключениями, соответствует пакету авторскому, неправомерно.

Будучи по долгу службы связанным со всякого рода мультимедийным софтом, Брюс резонно решил включить его в состав дистрибутива. А там уже был один шаг до того, чтобы инфраструктура Debian охватила практически все изобилие свободного программного обеспечения. Так что с тех пор количество пакетов в дистрибутиве нарастало от версии к версии чуть ли не в геометрической прогрессии, и к настоящему времени превысило 15 тысяч.

Кроме того, на время лидерства Брюса пришлась разработка документов Принципы Свободного Программного Обеспечения Debian и Общественный контракт Debian, создание принципов контроля качества включаемых в дистрибутив пакетов. Наконец, именно он предложил систему кодовых имен версий дистрибутива (Potato, Woody и другие) - это были персонажи из мультфильма Toy Story, выпущенного компанией Pixar (вот оно, идейное воздействие масс-медиа!). Так, кодовое имя текущей версии - Sarge, как и предыдущей - Woody, взяты оттуда же (так, Woody был ковбоем); а Sid - имя, закрепленное за разрабатываемой версией, - это соседский мальчик, который портит игрушки (подобно тому, как разработчики новой версии программы в процессе своей работы подчас вынуждены временно "подпортить" версию старую). Впрочем, мультика этого я не видел, и насколько особенности версий соответствуют чертам характера эпонимических их персонажей - судить не возьмусь.

В период 1996-1999 года Debian, в частности, благодаря политике контроля качества, завоевал признание как серверная платформа и система для технически грамотных пользователей (читай - в первую голову для разработчиков). При этом он счастливо совмещал в себе качества "системы для себя" и "системы для всех". Первая сторона вопроса обеспечивалась программой dpkg, вторая же стала возможной благодаря ее надстройке - dselect.

Одновременно продолжали развиваться универсалисткие тенденции дистрибутива - не только вглубь (океана Open Source Software), но и вширь - переносясь на архитектуры, отличные от i386. В интервале 1996-1999 года Debian бфл портирован на платформы 68XXX, Alpha, затем - Sparc и PowerPC, в последнее время - также Intel64 (так называемый Merced) и AMD64 (иногда лицемерно называемую x86_64). И ныне по количеству поддерживаемого "железа" Debian уступает, пожалуй, только NetBSD; но ведь последняя изначально создавалась для того, чтобы работать на любой аппаратуре, на которой она способна запуститься, и немножечко - на той, на которой NetBSD запуститься не может в принципе.

Важнейшей, наверное, вехой в развитии Debian (и не только его) стал выпуск весной 1999 года версии 2.1 Slink (Slinky - это такая собачка из того же мультика). И судьбоносность ее определяется тем, что в нее впервые был включен apt - универсальный инструмент для управления пакетами, который и создал позднее условия для широкого распространения Debian-клонов. Значение apt переоценить трудно - он не только был портирован в дистрибутивы, использующие формат пакетов rpm, не только послужил прообразом для многих других систем управления пакетами, претендующими на универсальность (yum, urpmi), но и оказался своего рода связующим звеном между пакетными дистрибутивами и системами Source Based, поскольку обеспечивал не только установку бинарных пакетов. но и их построение (вплоть до тотальной пересборки системы, подобно сакраментальному make world из FreeBSD). Впрочем, все это стало ясно много позднее (по крайней мере, широким пользовательским массам, представителем коих числит себя и автор этих строк).

Не случайно именно к 1999 году относятся первые попытки коммерческого клонирования Debian. Это были дистрибутивы Corel Linux и StormLinux. Ни тот, ни другой проект тогда успехом не увенчались. Правда, насколько я могу судить, по разным причинам. Corel Linux, не дав мгновенного коммерческого успеха родительской корпорации, был ею тихо брошен, как нежеланный ребенок. StormLinux же, будучи самостоятельным проектом, видимо, просто скончался голодной финансовой смертью.

Но дело их не пропало. Corel Linux, подобно подкидышу в цыганскую семью, со временем претворился в бравого чавела - дистрибутив Xandros, ныне развивающийся вполне успешно. Что же до StormLinux - достоверной информацией не располагаю, но готов дать голову на отсечение, что кое-какие из заложенных в нем идей получили развитие позднее в дистрибутивах семейства Ubuntu.

Другим следствием создания apt стала возможность портирования инфраструктуры Debian на ядра, отличные от ядра Linux. Первой ласточкой тут стал HURD - знаменитый долгострой проекта GNU - возникает проект Debian GNU/HURD. А в дальнейшем Debian-инфраструктура (в первую очередь пакетный репозиторий и механизм получения из него пакетов через apt) были пересажены и на совсем, казалось бы, чужую почву - ядра Free- и NetBSD (проекты Debian GNU/FreeBSD и Debian GNU/NetBSD, соответсвенно).

В результате универсалистские тенденции в развитии дистрибутива переросли уже прямо в имперские амбиции. И ныне Debian позиционирует себя (то есть свою инфраструктуру) ни много, ни мало, как операционную систему, низводя роль собственно ядра (Linux, HURD, какое-либо из BSD - по утверждениям идеологов проекта, это не имеет никакого значения) до незначительного винтика в ее составе.

Жизнь не подтвердила притязаний дебианистов. Воз HURD и ныне там, где был 20 лет назад. Ни одной из BSD-имплантаций не сопутствовал успех - и не удивительно, ведь каждая из них имеет не только совбственное, отличное от GNU, системной окружение, тесно интегрированное с их ядром, но и свою, отработанную и "притертую", систему пакетного менеджмента. Наконец, сами участники проекта начали поговаривать о том, что поддерживать такое количество аппаратных платформ, большинство из которых готовы отойти в мир иной, - непроизводительная трата средств.

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

Во-первых, от Debian отделились дистрибутивы коммерческого типа - Xandros (бывший Corel Linux), Mepis и Linspire (ранее весьма прославившийся как Lindows). Они включают в себя проприетарные компоненты, такие, например, как пакет CrossOver (средство запуска под Linux Windows-приложений), фирменные драйвера устройств и так далее. Полные версии этих дистрибутивов распространяются за деньги. Платным является также доступ к их обновлениям. Однако облегченные варианты всех этих дистрибутивов, содержащие только компоненты Open Source, доступны для свободного скачивания на соответствующих сайтах.

Из дистрибутивов коммерческой серии наибольшую известность, местами скандальную, снискал проект Linspire. Ибо начат он был Майклом Робертсоном в 2001 году под прозрачно-пародийным именем Lindows. Да и, честно говоря, ранние его версии, с одной из которых мне довелось познакомиться, действительно производили впечатление пародии на дистрибутив. Хотя ныне, говорят, это вполне рабочая система, успешно выполняющая поставленную перед ней задачу - обеспечение работы в Linux приложений для Windows, в первую очередь офисных (за счет того самого CrossOver, входящего в комплект поставки платной версии). Тем не менее, имя дистрибутива пришлось сменить - в результате судебного иска со стороны Microsoft, несколько лет длившегося с переменным успехом, но в конце концов выигранного Самой Великой Софтверной Компанией. Хотя для Linspire этот процесс, похоже, сыграл положительную роль, обеспечив ему широкую известность.

Во-вторых, Debian лег в основу знаменитого LiveCD Knoppix - одного из первых "живых" дистрибутивов (то есть Linux-систем, способных полноценно работать непосредственно с компакт-диска, без установки на винчестер). Он включал в себя множество приложений, работавших в интегрированной среде KDE (хотя и не обязательно именно KDE-приложений). В Knoppix впервые появилось большинство инноваций, таких, как использование сжатого образа файловой системы cloop, автоопределение оборудования, автоматическое конфигурирование сети и подстройка параметров оконной системы X, которые потом стали характерными для большинства LiveCD. Кроме того, Knoppix содержал средства автоматического переноса самого себя на жесткий диск, после чего превращался практически в самый обычный Debian.

В свою очередь, Knoppix и сам дал многочисленные ответвления, такие, как Gnoppix (использующий среду GNOME вместо KDE) и Kurumin. Интересен бразильский проект Poseidon - Live CD, построенный на базе Knoppix, использующий среду KDE и укомплектованный многочисленными ГИС-ориентированными программам.

Наконец, в-третьих, на базе Debian образовалось немало свободных дистрибутивов общего назначения, из которых наибольшая известность суждена была самому юному деривату Debian - Ubuntu Linux.

Дистрибутив Ubuntu (точнее, как мы увидим дальше, можно говорить о семействе дистрибутивов) был создан осенью 2004. Основоположник проекта - Марк Шаттлворт, известный Интернет-предприниматель, космический турист и общественный деятель, бывший некогда по совместительству одним из разработчиков Debian. Имя свое дистрибутив получил, как говорят, от древнего африканского слова, соответствующего нашему понятию гуманизм (правда, из какого языка взято это слово, - так и остается покрыто мраком неизвестности).

Одним из основных принципов Ubuntu был отказ от имперских амбиций исходного Debian'а. В частности, Ubuntu ограничился поддержкой лишь трех, актуальных для пользователей в мировом масштабе, архитектур - x86, amd64 и PowerPC. И не ставит своей целью "спакетировать" все, что открыто и свободно, сконецнтрировавшись на приложениях, "интегрированных в интегрированные среды" (то есть GNOME и KDE).

Ubuntu ориентирован, с одной стороны, на тех, кто сам все знает и умеет, с другой - на тех, кто ничего о компьютерах не знает, знать не хочет, но готов положиться на знающих людей. Правда, по словам Марка, промежуточная категория "полузнающих" (а это, увы, большая часть пользователей Windows) к использованию Ubuntu (да и Linux вообще) не готова.

Практически с самого момента своего возникновения Ubuntu распространялся в трех вариантах:

  • собственно Ubuntu, использующий в какчестве пользовательского окружения интегрированную среду GNOME и укомплектованный Gtk- и GNOME-приложениями;
  • Kubuntu, отличающийся использованием среды KDE и базирующихся не ней программ;
  • Edubuntu, предназначенный для сферы образования и включающий софт соответствующего профиля.

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

Собственно Ubuntu, Kubuntu, Edubuntu - это, так сказать, официальные члены семейства. Однако Ubuntu оказался не менее продуктивным клонопородителем, нежели предок - Debian. И потому число его побочных потомков растет с каждым днем.

Это, во-первых, просто локализованные версии Ubuntu/Kubuntu: финская, итальянская, тайваньская, с недавних пор также испанская и немецкая. От исходных дистрибутивов они отличаются только полным переводом интерфейсных элементов и системных сообщений на соответствующие языки.

Во-вторых, имеются, так сказать, национально-специфические дериваты, отличающиеся не только языком, но также комплектацией пакетов и некоторыми другими особенностями. В их числе три испанских деривата - Guadalinex, MoLinux, GNIX-Vivo; первые два разрабатываются для использования в правительственных учреждениях Андалузии и Кастилии, соответственно, а третий - LiveCD, отличительная особенность которого - поддержка галисийского языка (gallego), на котором говорят в одноименной провинции на севере Испании. Спецификой итальянского декривата - Ufficio Zero, - кроме "языка общения", является ориентация на начинающего офисного пользователя, что выражается в его комплектации.

Наконец, третья группа клонов Ubuntu - это дистрибутивы специального назначения, нацеленные либо на определенный круг задач, либо на специфическое оборудование. Здесь можно упомянуть Admelix, предназначенный для широких масс бизнес-администраторов, Impi Linux, декларируемый как платформа для частного сектора и государственных служащих (не есть ли это пример пресловутой коррупции? :-)), nUbuntu - платформа "повышенной секретности", HP laptop version - насколько я понял, просто Ubuntu с улучшенной поддержкой специфически ноутбучных компонентов именованной фирмы.

Приведенный список клонов Debian далеко неполон, однако его достаточно, чтобы представить себе "масштабы экспансии". Ну а обсудить историю Debian, вкупе с историей прочих Linux'ов, можно здесь: http://forum.posix.ru/viewtopic.php?id=111.