Журнал LinuxFormat - перейти на главную

LXF70:Debian

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание


Debian на перепутье

Sarge, наконец-то, вышел. Когда-то в это верилось с трудом — казалось, скорее полетит поросенок, впрочем, и сейчас люди говорят не о новых функциях и усовершенствованиях, а о задержках и недостатках. Ричард Драммонд (Richard Drummond) рассуждает о том, что ждет самый свободный дистрибутив Linux в будущем.

6 июня этого года мир практически услышал вздох облегчения тысяч разработчиков Debian со всех уголков земного шара: дистрибутив Debian GNU/Linux 3.1 под кодовым названием Sarge был официально выпущен в свет после трехлетнего периода созревания. Кое-кто даже не надеялся дожить до этой даты.

В индустрии разработки программного обеспечения редко удается отдохнуть. Едва закроется дверь за очередной версией, как уже пора подумать о следующей. И проекту Debian придется столкнуться с новыми трудностями по мере работы над Etch — таково кодовое имя будущей стабильной версии Debian.

Основной проблемой является внутренний менеджмент: как разработчики смогут гарантировать пользователям, что Etch не придется ждать еще три года? Люди, может быть, и согласятся ждать столько времени благодаря особому положению, которое занимает Debian среди других дистрибутивов Linux. Однако, с учетом большого числа «потомков», приобретающих все большую популярность, Debian не может позволить себе терять времени даром.


(thumbnail)
Являясь президентом Progeny, Ян Мердок не теряет связи с проектом Debian
(thumbnail)
Брюс Пиренс: автор кодовых имен Debian

Проект Debian — это сообщество разработчиков, связанных целью создать высококачественную операционную систему исключительно из свободных компонентов. Слово «Debian» происходит от имени основателя проекта Яна Мердока (Ian Murdock) и его подруги (а сейчас — жены) Деборы. Сегодня, все официальные выпуски Debian строятся на ядре Linux и утилитах, созданных в рамках проекта GNU Project, таким образом, самым правильным названием является Debian GNU/Linux, хотя его часто сокращают до «Debian».

В том, что касается популярности, дистрибутив Debian обычно занимает вторую строчку рейтинга, уступая лишь Red Hat. Он также является самым крупным и включает в себя 15 000 пакетов, поддерживаемых для 11 основных аппаратных архитектур и еще большего числа субархитектур, варьирующихся от КПК до мейнфреймов. Однако, Debian существенно отличается от своих конкурентов.

Начнем с того, что Debian — это некоммерческая организация, существующая за счет пожертвований Software In the Public Interest, и, самое главное, все разработчики Debian — добровольцы.

Во-вторых, Debian очень серьезно подходит к вопросу использования только свободного ПО. Его обязательства перед сообществом и пользователями изложены в Социальном Договоре Debian (Debian Social Contract), в котором ясно говорится: «Debian останется свободным на 100 %». Руководство Debian Free Software Guidelines (DFSG) перечисляет требования, которым должна удовлетворять программа для того, чтобы ее признали свободной и приемлемой для включения в основной репозитарий Debian.

Случилось так, что DSFG было использовано инициативой Open Source Initiative в качестве основы для дефиниции Open Source Definition, используемой для продвижения концепций свободного ПО в мир большого бизнеса. Идеи, изложенные в данном документе, насчитывают уже 12 лет и относятся к дате рождения Debian.

Новый тип дистрибутива

Проект Debian был представлен миру в августе 1993 года. В то время крупных коммерческих поставщиков Linux: Red Hat, SUSE, Mandrake еще не существовало, а доступные дистрибутивы не отличались высоким качеством. Основатель Debian Ян Мердок был по горло сыт популярным в те дни дистрибутивом SLS. Он писал в Манифесте Debian (Debian Manifesto): «Вероятно, это самый ненадежный и плохо поддерживаемый дистрибутив из ныне существующих, к сожалению, он же, видимо, и самый популярный».

Кодовое имя: История игрушек

Начиная с версии 1.1, всем выпускам Debian присваивался псевдоним, выбираемый из имен персонажей мультфильма «история игрушек». Так, Debian 1.1 был назван «Buzz» в честь Базза Лайтера (Buzz Lightyear), 2.2 получил имя Potato благодаря Мистеру Картошке (Mr. Potato Head), 3.0 – Woody, в честь небезызвестного ковбоя, и так далее. Sid, неизменное кодовое имя нестабильной ветви разработки Debian, происходит от Сида Филлипса (Sid Phillips), соседского непоседы. Какая же связь между Debian и «историей игрушек»? Разработчик и лидер проекта Debian Брюс Пиренс работал системным программистом в студии Pixar до 1999 года. Однажды Pixar даже приютил у себя списки рассылки Debian.

С уверенностью, присущей только очень молодым и очень опытным, Мердок, тогда еще студент университета Падью (Purdue university) в штате Индиана, решил, что он может сделать нечто большее. К счастью, это высокомерие не ослепило его и позволило видеть ошибки создателей других дистрибутивов. SLS и подобные решения обычно собирались одним человеком или небольшой группой людей, у которых просто не было возможности производить, тестировать и поддерживать высококачественный дистрибутив. Мердок понял: чтобы все сделать как нужно, ему потребуется помощь добровольцев.

Второй гениальной догадкой было позаимствовать схему, успешно применяемую линусом Торвальдсом для разработки ядра Linux. Впоследствии, антрополог свободного сообщества Эрик Рэймонд (Eric Raymond) назовет ее Базаром (Bazaar). Ключом к созданию операционной системы в распределенной, децентрализованной среде явилась модульность, в качестве единицы которой Мердок предложил использовать программный пакет.

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

В наши дни легко забыть, какой революционной была эта идея, поскольку сейчас ее используют все. Пионером, тем не менее, был Debian. Конечно, чтобы развить инструменты и методы и сделать Debian таким, каков он сейчас, потребовалось время. Самые первые выпуски дистрибутива не использовали для управления пакетами dpkg. Эта утилита, как и политика ее использования, была предложена программистом Яном Джексоном (Ian Jackson) в 1994 году. Также, хотя Debian всегда был сторонником свободного ПО — в своем Манифесте Мердок критиковал создателей других дистрибутивов за «тенденцию замалчивать, что Linux — свободная ОС», эта приверженность оставалась не увековеченной в камне Социального Договора до тех пор, пока бразды правления проектом не перешли к Брюсу Пиренсу (Bruce Perens).

Неважно, как Debian изменялся с годами, но его задача всегда оставалась прежней — создавать и поддерживать высококачественный, свободный от ошибок дистрибутив Linux. Говоря словами Мердока из того же Манифеста: «Главная задача проекта Debian — создать, наконец, дистрибутив, достойный ассоциироваться с именем Linux. Debian собирается заботливо и добросовестно и будет поддерживаться с таким же вниманием».

Преимущество Debian

У Debian есть почитатели и в высших кругах. HP предлагает поддержку и решения на базе этого дистрибутива, Мюнхен выбирает его для использования на 14 000 рабочих станций, а правительство области Экстремадура в Испании создает на основе Debian собственный дистрибутив Linex для внедрения в офисах и школах.

Фактически, Debian приобретает все большую популярность как фундамент для создания специализированных решений. Настольные дистрибутивы от коммерческих поставщиков Linux, Linspire и Xandros, берут свое начало в Debian. В недавней статье на Slashdot утверждается, что на Debian базируется больше дистрибутивов, чем на Red Hat. Мало того, по данным сайта distrowatch.com «потомки» Debian еще и популярнее, чем отпрыски Red Hat.

Что же привлекает миллионы пользователей со всего мира? И почему Debain — разработка сообщества — так интересует организации и правительственные учреждения?

Влечение бизнес-структур к Debian объяснить не так уж сложно. Он привлекателен для них по той же причине, что и Linux, и Open Source в целом. Помимо технических аспектов, ключевым преимуществом Debian является свобода и потенциал создающего его сообщества. Debian уже 12 лет и он пока что не собирается уходить со сцены — разве только 1000 с лишним разработчиков решат, что с них уже достаточно и займутся садоводством. Debian не является коммерческой организацией, а потому не может обанкротиться или быть купленным другой фирмой.

Безопасность в числах

Степени свободы

Репозитарий Debian подразделяется на три базовых секции: main, contrib и non-free. В секцию «main» (основную) могут быть помещены только пакеты, чьи лицензии удовлетворяют принципам DFSG, остальные программы попадают в секцию «non-free» (несвободные). Кроме того, пакеты секции «main» не могут требовать для своей работы несвободных пакетов, те же из них, которым это не удается, размещаются в секции «contrib» (добавочные). Сюда, например, попадают открытые Java-приложения, использующие несвободную библиотеку Swing или эмуляторы, требующие закрытых прошивок.

Для упрощения управления пакетами вводятся понятия подсекций (subsection) и приоритетов (priorities).

Подсекции группируют пакеты по кругу решаемых задач. Для этих целей существуют подсекции mail, web, math, science, games и так далее.

Приоритеты упорядочивают пакеты по степени необходимости для создания функциональной системы. Пакеты, помеченные как «required», абсолютно необходимы, а важными («important») считаются программы, которые можно найти на любой рабочей станции Unix.

Таким образом, Debian является надежной основой для бизнеса. Как пишет Ян Мердок на сайте http://www.ianmurdock.com: «Речь идет не о технологиях, а о свободе. Вы можете сами управлять своей судьбой, создавать свое будущее, не связывая себя стремлением к прибыли одной американской компании». Эта свобода относится и к индивидуальным пользователям, и к миру бизнеса. В статье, названной «Почему Linux? Почему Debian?» («Why Linux? Why Debian?»), вышедшей этим летом, разработчик Манои Шривастава (Manoj Srivastava) восклицает: «Я не хочу, чтобы моя ОС была заложником чьего-то бизнес-плана!»

Более того, проект Debian очень серьезно относится к использованию только свободного ПО, причем в его понимании слово «свободный» имеет очень строгое определение. В основной репозитарий Debian принимаются только те пакеты, чьи лицензии удовлетворяют DFSG (см. врезку «Степени свободы»). В свою очередь, DFSG допускает к использованию лишь лицензии, защищающие право пользователя на применение, изменение и повторное распространение ПО. Однако, требование отказа от авторских прав (copyleft) не является обязательным, поэтому GPL, лицензия X11 или BSD в равной степени совместимы с положениями Руководства.

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

Первая гарантия, которую обеспечивает поправка к Социальному Договору, касается свободных «произведений», а не «программного обеспечения». «В документе Debian Free Software Guidelines предоставлен свод правил, позволяющих определить, является ли произведение свободным. Мы обещаем, что Debian и все его компоненты останутся свободными в соответствии с данными требованиями. Мы будем поддерживать людей, которые создают или используют как свободные, так и несвободные произведения в Debian. Однако, система никогда не будет зависеть от несвободных компонентов».

Благодаря DFSG, коммерческие структуры могут быть уверены, что пока они используют пакеты из основного репозитария Debian, они используют свободное ПО, не связанное ни с какими лицензионными проблемами и вряд ли влекущее за собой юридические последствия.

Зачастую люди считают популярность Debian заслугой пакетного менеджера APT. Он (а скорее, какой-нибудь графический интерфейс, вроде Synaptic) позволяет вам легко загружать на свой компьютер новые или обновленные приложения — и, что более важно, программы, от которых они зависят. APT автоматически разрешает зависимости и избавляет вас от мороки с установкой ПО. Считается, что APT — это «изюминка» Debian, так правда это или нет? В двух словах, нет.

За пределами APT

Несмотря на то, что APT — это великолепный инструмент, сам по себе он не придает веса Debian. Компания Conectiva (впоследствии слившаяся с Mandrakesoft и сменившая имя на Mandriva) четыре года назад переработала APT для дистрибутивов, использующих RPM, но «вкус» получился уже не тот. Существуют другие решения, подобные APT, например, urpm или yum, но и они кое в чем проигрывают своему «прототипу». Возможно, так происходит потому, что RPM по ряду позиций все же не дотягивает до dpkg из Debian. Один из разработчиков Mandriva, Клаудио Мацуока (Claudio Matsuoka) писал в своем дневнике (http://tweek.dyndns.org:8080) о «десяти главных проблемах RPM», среди которых упоминались «разнящаяся обработка файловых зависимостей и большое число скрытых зависимостей, автоматически добавляемых RPM».

Не Linux’ом единым…

Debian – это не только удачный менеджер пакетов. Это опытное сообщество, строгий подход к отбору пакетов и инструменты, помогающие достичь всего вышеперечисленного. Вполне естественно, что эти преимущества нашли свое применение за пределами дистрибутива Linux. Различные официальные проекты Debian работают над созданием систем на базе других ядер. Первым из них был GNu/Hurd, который заменил Linux микроядром Hurd. Hurd разрабатывается в рамках проекта GNU и завершает его задачу по построению Unix-подобной ОС, состоящей только из ПО, созданного в GNU. Позже появились проекты, построенные на ядрах FreeBSD и NetBSD. Некогда существовала идея создать порт для Windows (при помощи Cygwin), но сейчас здесь не наблюдается активности.

Вне официальных проектов, инструменты Debian используются в Fink, который обеспечивает доступ к открытым приложениям Unix из Mac OS X.

Очевидно, dpkg гибче RPM. Например, dpkg допускает большую свободу в описании взаимоотношений между пакетами, которые уже не просто зависят друг от друга. Один пакет может «предварять» (pre-depend) другой, если его необходимо установить и настроить для нормальной установки исходного, «рекомендовать» (recommend) его, что обеспечивает не абсолютную, слабую зависимость, или даже «предлагать» (suggest) другой пакет. В последнем случае наличие пакета не является обязательным, но обеспечит дополнительную функциональность.

Возможности dpkg включают в себя и постинсталляциионные сценарии, которые выполняют любую (в том числе, интерактивную) конфигурацию пакета. В состав Debian включена система debconf, которая предоставляет стандартные средства для организации диалогов в этих скриптах. Кроме того, dpkg предлагает несколько различных интерфейсов (текстовый, GTK и Qt) и может быть настроен на запрос различного объема информации в зависимости от приоритетов. В случае автономной инсталляции debconf может не задавать ни единого вопроса, и все параметры будут заполнены значениями по умолчанию.

Конечно, ни RPM, ни dpkg не являются совершенными, хотя dpkg универсальнее и надежнее. Основной причиной, по которой Debian превосходит RPM-дистрибутивы в управлении пакетами, является всесторонняя политика Debian, устанавливающая правила для сборки пакетов и инструменты, которые претворяют ее в жизнь. Стабильный выпуск Debian никогда не будет включать в себя пакеты, не удовлетворяющие политике Debian Policy. Строгие правила и мощь dpkg приводят к тому, что базовая инсталляция Debian гораздо меньше по размеру, чем дистрибутив на базе RPM. В частности, правила Debian Policy требуют, чтобы разделяемые библиотеки составляли отдельный пакет (а не распространялись вместе с использующими их программами), имя котрого выбирается в соответствии с ABI (Application Binary Interface, бинарный интерфейс приложения) текущей версии библиотеки.

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

Проблемы в городе свободы

Тест, тест, тест

Проект Debian поддерживает три ветви разработки: стабильную (stable), тестовую (testing) и нестабильную (unstable). Стабильная ветвь соответствует текущему стабильному выпуску Debian (сейчас это 3.1 или Sarge) и не меняется до тех пор, пока не появится новая ревизия. Обновления безопасности для стабильной версии существуют в отдельном репозитарии APT по адресу: http://security.debian.org.

Нестабильная ветвь представляет собой тестовую площадку для следующего релиза Debian. Все новые пакеты загружаются в этот репозитарий. По истечении определенного времени пакеты, в которых не обнаруживается дополнительных ошибок и отсутствует зависимость от приложений, еще не находящихся в тестировании, отправляются в репозитарий testing. Смысл тестируемой ветви состоит в том, что она всегда близка к состоянию релиза. При желании, конечные пользователи могут устанавливать пакеты из ветвей testing или unstable (и даже перемешивать пакеты из stable, testing и unstable друг с другом).

В целом, использование testing относительно безопасно. Здесь никогда не будет слишком много проблем, однако, команда Debian Security team не поддерживает данную ветвь, так что она определенно не подходит для критически важных приложений. Unstable – для истинно рисковых личностей, предпочитающих жить на острие атаки. Время от времени обновление из этой ветви может испортить вашу систему.

Тот факт, что Debian имеет очень растянутый релиз-цикл (на подготовку Sarge потребовалось три года, на Woody ушло два) глубоко укоренился в головах членов сообщества. Вопрос состоит в том, почему Sarge потребовал так много времени и что собираются делать разработчики, чтобы выпустить Etch в срок?

В первую очередь, давайте выясним, имеет ли дата выхода Etch хоть какое-то значение. Debian не находится под давлением со стороны рынка и может позволить себе выпускать код тогда, когда сочтет нужным. Зачем тогда все это, если пользователи, которым требуется самое современное ПО, могут выбрать тестируемую или «нестабильную» ветвь разработки дистрибутива или одну из многочисленных производных, например, Ubuntu?

Одним из людей, которые считают, что Etch должен выйти за разумное время, является Ян Мердок. Запись в его дневнике, появившаяся вскоре после выпуска Sarge, утверждает, что Debian должен сделать регулярность появления новых версий, а также удержание места среди многочисленных производных приоритетной задачей. «Что поставлено на кон? Если мы не сделаем что-то с этими проблемами, актуальными и потенциальными, к моменту появления etch на свет Debian будет попросту нерелевантен».

Почему на Sarge ушло столько времени? Между ним и Woody не так много технических различий. Фактически, самым крупным из них является инсталлятор Debian Installer, да и он находился в разработке несколько лет. Проще всего будет предположить, что Debian стал слишком большим и процессы подготовки к выпуску не успевают за этим. Раньше, когда пакетов было гораздо меньше, новые версии Debian выходили быстрее.

Впрочем, весьма очевидно, что число пакетов не является единственным фактором. В составе Sarge 15 000 пакетов, которые поддерживает 1 000 человек, таким образом, отношение «разработчиков на пакет» здесь гораздо лучше, чем в Mandriva или Fedora. задержка Sarge была связана не только с этим.

Размер — не главное

Большую проблему представляет число архитектур, поддерживаемых Debian. Разработчики тратят много сил на портирование приложений на «минорные» платформы. Например, основные разработчики приложения, как правило, не интересуются такими архитектурами, как ARM, HP-PA, MIPS или m68k. Если при портировании на них возникают трудности, разработчикам Debian приходится преодолевать их самостоятельно. Стабилизация ядра, инсталлятора и подготовка инфраструктуры для доставки обновлений безопасности для Sarge были, в частности, теми аспектами, что замедлили его выход в свет.

Стив Лэнгесек (Steve Langasek), член команды подготовки к выпуску Sarge, написал электронное письмо, которое позже стало известно как Ванкуверский Проспект (Vancouver Prospectus). В данном сообщении утверждалось, что «дальнейший скоординированный выпуск дистрибутива для стольких архитектур не представляется возможным. В последний год, поддержание 11 архитектур в готовности к релизу отнимало большую часть усилий у команд подготовки к выпуску, d-i (Debian Installer) и сопровождения ядра».

Ванкуверский Проспект пропагандирует уменьшение числа поддерживаемых архитектур. Этот документ является предметом различных споров, отчасти из-за непонимания, отчасти потому, что он ставит людей перед свершившимся фактом. На самом деле, он не был принят как официальная политика Debian. По словам нового главы «политического комитета» Debian Брендена Робинсона (Branden Robinson), «это лишь начало процесса поиска решения, но никак не конец».

Недопонимание происходит от более раннего предложения разделить архитектуры с целью уменьшения трафика, необходимого для зеркалирования репозитария Debian. Предполагалось разнести массовые архитектуры, вероятно, x86, AMD64, IA-64 и PowerPC и платформы «второго класса» (Second Class Citizens, SCC), насчитывающие куда меньше пользователей. Предложение SCC будет принято, поскольку оно освобождает канал для новых архитектур, например, AMD64. В свою очередь, Ванкуверский Проспект, предлагающий просто отказаться от выпуска SCC-архитектур, все еще обсуждается. В нем перечислены положения, которым должна удовлетворять архитектура, «достойная» выпуска. Помимо прочего, сюда входит возможность приобрести новое оборудование, способность собрать на ней 98 процентов пакетов, не зависящих от архитектуры, поддержка со стороны Debian Security team и так далее.

Хотя в необходимости принятия мер по повышению управляемости процессов выпуска Debian нет никаких сомнений, день, когда проект откажется от сопровождения портов на ARM или MIPS, будет грустным для всего Linux-сообщества.

Прочие предложения по улучшению данного процесса фокусируются на коммуникациях и распределении обязанностей. Одиночного менеджера предлагается заменить группой, и Бренден Робертсон уже избран главой команды под кодовым названием Project SCUD (еще один реверанс в сторону «истории игрушек»).

Объединяй и властвуй

Восход Ubuntu Linux
(thumbnail)
Марк Шаттлворт, «отец» Ubuntu

Самым популярным и одновременно самым молодым отпрыском Debian является Ubuntu Linux, основанный и поддерживаемый бывшим разработчиком Debian, интернет-предпринимателем и космическим туристом Марком Шаттлвортом (Mark Shuttleworth). Марк является уроженцем ЮАР, а слово ubuntu, в переводе с одного из африканских языков, означает «гуманность в отношении к другим». Ubuntu Linux позиционируется как «Linux для человеческих существ» и является простым в использовании настольным дистрибутивом, построенным на Debian. Ubuntu разделяет многие идеалы свободы, принятые Debian. Вы даже можете заказать себе установочный компакт-диск и он будет доставлен бесплатно в любую точку земного шара. Это обстоятельство, по-видимому, является одним из факторов, приведших к стремительному росту его популярности. Ubuntu обещает поддерживать регулярный шестимесячный релиз-цикл, что также добавляет ему очков. В настоящий момент Ubuntu существует для платформ x86, AMD64 и PowerPC, как в виде установочных дисков, так и в качестве LiveCD. Sparc и IA-64 поддерживаются как минорные, «невыпускные» архитектуры.

Читайте мнение Марка Шаттлворта о Debian, Ubuntu и разветвлении/ответвлении в следующем номере нашего журнала.

Задержка с выпуском Sarge привела к увеличению разрыва между стабильной версией Debian и его производными, например, Ubuntu. Теперь, когда Sarge, а значит, стабильная версия Debian с относительно новым ПО, наконец-то увидела свет, расстояние между ними сократилось.

Благодаря модульности Debian, степень совместимости между Sarge и его производными (Ubuntu, Linspire, Xandros и другими) очень высока, особенно по сравнению с тем, что творится в семействе Red Hat. Многие, тем не менее, считают, что Debian и его детям следует сотрудничать более тесно. Ян Мердок пишет: «Нам необходимо использовать уникальное достояние Debian, а именно — мощь его производных. Сами по себе они не столь важны, но все вместе препятствуют развитию отдельных лидеров рынка (Red Hat и Novell)».

Между проектом Debian и его отпрысками, тем не менее, существуют напряженные отношения. Это особенно верно в отношении самого молодого из них, Ubuntu. Разработчики Debian обсуждали вопрос, является ли он дочерним дистрибутивом или вредоносным разветвлением и достаточно ли участники Ubuntu делают для того, чтобы передавать сделанные ими изменения людям, ответственным за те или иные пакеты в Debian. «Ubuntu вызывает смешанные чувства, но суммарный результат остается положительным. Он помог улучшить имидж Debian. Минусом является то, что благодаря Ubuntu некоторые люди начали задумываться о „релевантности“ Debian как такового. Как потребитель операционной системы Debian и создатель производного продукта, Canonical Ltd. [спонсор Ubuntu] могла бы заострять больше внимания на том, какую пользу оказал Debian. Если завтра Debian исчезнет с лица земли, Canonical окажется в чем-то связанной по рукам и ногам», — сказал Робинсон в своем недавнем интервью.

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

В ожидании Etch

Sarge пришел, пыль осела, так что сейчас самое время задуматься о том, что будет представлять из себя следующий стабильный выпуск Debian, известный сейчас под кодовым именем Etch (в честь персонажа по имени Etch a Sketch из «истории игрушек»). Хотя, на момент написания этой статьи, Etch едва насчитывал три недели, мы уже знанем о многих изменениях, которые будут включены в него в процессе разработки. Это происходит потому, что большая часть из них планировалась уже давно, но была отложена, чтобы не мешать выпуску Sarge.

Ключевые нововведения

Мультиархитектурное предложение

Многие из современных процессоров поддерживают сразу несколько интерфейсов ABI. Например, AMD64 может выполнять код IA32 и AMD64, IA-64 поддерживает совместимость с IA32 и HPPA, а PowerPC даже способен выполнять программы с различным порядком следования байтов! Проблема состоит в том, что исполняемые файлы требуют наличия разделяемых библиотек, использующих тот же ABI, что и они сами, а для расположения последних имеется лишь одно стандартное место. Чтобы выполнять двоичные файлы IA32 на AMD64, нужны 32-битные версии разделяемых библиотек, таких как стандартная библиотека C, X Window System и так далее. Как разработчики дистрибутивов намерены бороться с этим?

Текущие стандарты FHS (File-Hierarchy Standard) и LSB (Linux Standard Base) мало что добавляют по данному вопросу, так что применяемые подходы могут варьироваться. Для процессоров, способных выполнять 32 и 64-битный код, 32-битные библиотеки обычно устанавливаются в /lib, /usr/lib и так далее, а 64-битные – в /lib64 и /usr/lib64. AMD64 отличается от других. 64-битный режим здесь предпочтителен, поэтому библиотеки для него располагаются в /lib, хотя Debian для AMD64 располагает 32-битные библиотеки в /emul/ia32-linux.

Практика использования /lib, /lib64 и подобных каталогов весьма негибкая. Как насчет IA-64, способного выполнять код IA-32, HPPA и имеющего сверх того собственный набор инструкций? Как насчет процессоров с обратным порядков следования байтов? Как насчет ABI других операционных систем и эмуляторов типа Qemu?

В качестве решения предлагается добавлять префикс, определяющий ABI (процессор и ОС) к пути библиотеки. Например, /lib/ia32-linux или /lib/ppc64-darwin7.0 полностью определяют положение необходимых библиотек. /lib64 и /lib32 можно сохранить в виде символических ссылок с целью обеспечения обратной совместимости.

Мультиархитектурное предложение Debian идет еще дальше и дает рекомендации по управлению программами с неродным ABI через пакетную систему Debian. Вместо того, чтобы заставлять пользователей инсталлировать и поддерживать 32-битную среду на AMD64 вручную, почему бы не позволить им просто установить библиотеки от i386? Это проще, чем готовить библиотеки в родном и эмулируемом исполнении по отдельности, но требует изменений в dpkg, позволяющих указывать целевую архитектуру в зависимостях. К счастью, данные изменения уже были произведены и протестированы.

В первую очередь, необходимо выполнить некоторые преобразования. Сюда входит перевод стандартного инструментария Debian на GCC 3.4 или 4.0. Это, в свою очередь, подразумевает изменение интерфейса C++ ABI, что приведет к нарушению обратной совместимости с библиотеками C++. Таким образом, придется пересобрать все библиотеки и приложения C++. Это не такая уж большая проблема и планы ее решения уже имеются, но пройдет какое-то время, прежде чем первые результаты появятся в тестируемом варианте Debian.

По словам разработчика Билла Алломберта (Bill Allombert), зависимость APT и утилит Aptitude от C++, наряду с циклическими зависимостями и пакетами, «портящими конфигурационные файлы и делающими управление ими посредством dpkg бесполезным» является тремя ключевыми областями Sarge, требующими доработки. В своем письме сообществу Debian Алломберт отмечает, что эти проблемы были усугублены недостатком времени, оставшимся для тестирования Sarge после его заморозки (feature freeze). «Такие вещи нужно делать автоматически, …, примерно тем же путем, что и сборки», — считает он.

Другой назревший переход — замена стареющего XFree86 4.3 на X.Org. Это опять же не должно вызвать проблем, поскольку команда Debian X Strike Force уже предоставляет пакеты X.Org в течение некоторого времени. В числе прочих изменений, запланированных для Etch, следует упомянуть Gnome 2.10, KDE 3.4 и OpenOffice.org 2.0.

Во-вторых, порт на платформу AMD64 должен непременно получить статус поддерживаемого Etch, но, как мы уже отмечали, общее числе архитектур при этом может быть существенно сокращено. AMD64 и подобные процессоры предоставляют смешанную среду выполнения (в данном случае, 32 и 64-битную), и в данный момент рассматриваются предложения по обеспечению наилучшей поддержки этой множественности (см. врезку «Мультиархитектурное предложение»). Уже произведено некоторое тестирование.

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

Больше свободы

Несвободная лицензия для документации

Лицензия GNU Free Documentation License (FDL) Фонда Свободного Программного Обеспечения является дополнением для GPL, предназначенным для документации на свободное ПО. Однако, многие рассматривают ее саму как несвободную или несостоятельную. Основная проблема кроется в «инвариантных секциях», допускаемых FDL. Инвариантная секция не может быть изменена или удалена, даже если она устареет и является барьером для свободной модификации текста.

Разработчики Debian долго обсуждали проблему FDL и пришли к мнению, что документация, распространяющаяся на ее условиях, не может быть включена в основной репозитарий Debian. Хотя введение в строй этого решения было отложено с тем, чтобы выпустить Sarge, к Etch это будет относиться в полной мере. Некоторые пакеты Debian содержат документацию, лицензированную по GNU FDL. В каждом конкретном случае придется либо выпустить текст по другой, DFSG-совместимой лицензии или же исключить его из секции main.

Кое-какая работа в данном направлении уже проделана: некоторые разработчики Debian удалили «несвободную» документацию из своих пакетов, предназначенных для Sarge.

Наконец, поправки к Debian Software Guidelines также потребуют кое-каких изменений. В будущем требования DFSG будут относиться не только к программному обеспечению, но и к дополнительным материалам, таким как документация или прошивки. Эти изменения были отложены что позволило выпустить Sarge, но теперь они возымеют свое действие. Одной из проблем является лицензия GNU Free Documentation License, которая была признана несвободной. Это значит, что большой объем документации придется перелицензировать или исключить из основного репозитария Debian. Драйвера, зависящие от прошивок, существующих только в двоичной форме, также придется удалить из состава ядра.

Разумно ожидать от Etch улучшений в области группировки пакетов (task system) и распознавания оборудования. Группировка ускоряет установку Debian, позволяя пользователям выбирать не одиночные пакеты, а целые наборы, предназначенные для решения тех или иных типовых задач. В состав Sarge входит лишь несколько подобных групп, так что здесь Etch, несомненно, есть к чему стремиться.

В числе уже предложенных наборов значится «ноутбук», автоматически устанавливающий средства управления питанием. Базовая установка Etch будет легче и сможет обходиться без компилятора C, так что потребуется еще одна дополнительная группа: «Средства разработки C».

В области распознавания оборудования одним из интересных предложений является возможность реагировать на изменения в аппаратной конфигурации (например, замену видео или сетевой карты). Debian должен автоматически предложить пользователю перенастроить X или изменить параметры сети. Подобные функции уже много лет предлагаются Kudzu, системой распознавания оборудования в Red Hat.

Усиленная безопасность

Etch также будет обладать повышенной безопасностью. Одним из изменений станет включение APT 0.6.0, с поддержкой криптографической проверки подлинности источника, из которого происходит пакет. Таким образом, загрузив что-то из сети, вы можете быть уверены, что оно не было скомпрометировано в процессе доставки. APT 0.6.0 уже некоторое время находится в экспериментальном репозитарии Debian и используется в Ubuntu, но необходимые инфраструктурные изменения в тестовом дереве Etch еще не произошли.

Продолжая тему безопасности, следует упомянуть проект SeLinux (Security-Enhanced Linux), который часто просят включить в Etch. SeLinux берет свое начало в недрах агентства Национальной Безопасности США и добавляет в Linux функции мандатного контроля доступа, что обеспечивает более тонкую настройку политик безопасности. Библиотека libselinux и использующие ее утилиты уже являются частью репозитария Debian, но другие компоненты, например, исправленные версии стандартных утилит для работы с файлами (пакет coreutils), процесса init и демонов — еще нет.

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

Критики утверждают, что если работа над Etch затянется, Debian рискует стать нерелевантным. Это крайняя точка зрения, но, тем не менее, вполне очевидно, что выпуск Etch в указанный срок позволит снизить ущерб, нанесенный «долгостроем» Sarge.

И все же, мы считаем, что в качестве награды за его выпуск разработчики Debian заслужили небольшой отпуск. Им следует поберечь силы для долгого похода на Etch.



Истинно общественный проект

1993 Проект Debian родился в университете Падью, когда магистр Ян Мердок отправил в новостную группу comp.os.linux.development анонс «близящегося к завершению» дистрибутива Debian Linux. Мердок написал Манифест Debian, устанавливающий цели проекта Debian Project.

1995 Увидел свет Debian 0.93 release 5, первая более-менee современная версия дистрибутива. Для управления пакетами в ней использовалась утилита dpk Яна Джексона. Тем временем, Гармут Копштейн (Harmut Kopstein) начал первый перенос Debian на архитектуру, отличную от x86 — Motorola m68

Ян Мердок устраняется от разработки Debian

1996 В связи с нагрузкой в университете управление проектом переходит к его участнику, программисту студии Pixar Брюсу Пиренсу. Под его началом были выпущены Debian 1.1 (Buzz) в июне и 1.2 (Rex) в декабре. Джексон написал первое руководство Debian Policy Manual, определяющее процесс сборки пакетов для Debian.

1997 Суматошный год. Debian вышел на орбиту на борту шаттла Коламбия, управляя компьютером, проводящим эксперимент по гидропонике. Увидел свет Debian 1.3 (Bo), Пиренс подготовил черновик Социального Договора, зафиксировав тем самым приверженность Debian идеям свободного ПО.

1998 В январе Ян Джексон становится лидером проекта Debian. Позже, в июле, выходит Debian 2.0 (Hamm) для платформ i386 и m68k. Это был первый выпуск, использующий библиотеку glibc2 вместо libc5. Скот Эллис (Scott K Ellis) начинает работу над проектом APT (Advanced Package Tool), который становится популярным интерфейсом к dpkg. Разработчики Debian ратифицируют первую версию конституции Debian Constitution, определяющий организационную политику и процесс принятия решений в рамках проекта.

1999 Появляются первые производные Debian. Компании Corel и Stromix берут его за основу своих коммерческих дистрибутивов. Разработчики голосуют за новую эмблему, которая действует и по сей день. Лидером проекта становится Вихерт Эккерман (Wichert Akkerman). В марте выходит Debian 2.1 (Slink), поддерживающий архитектуры Alpha и Sparc и впервые включающий в себя APT.

2000 Выходит Debian 2.2 (Potato), впервые официально поддерживающий PowerPC и ARM. Исследование показало, что Debian 2.2 включал в себя 55 млн строк кода оценочной стоимостью в 1.9 млрд долларов. Появляется первый неофициальный ISO-образ Debian GNU/Hurd. Это был первый дистрибутив, использующий ядро, отличное от Linux.

2001 Неудачный год для отпрысков Debian. Corel продает свое Linux-подразделение, Stormix объявляет о банкротстве и даже основанная Яном Мердоком фирма Progeny приостанавливает разработку. Лидером проекта становится Билл Коллинз (Bill Collins). Криптографическое ПО перемещается в основной репозитарий в связи со смягчением экспортных ограничений США. Debian начинает поддерживать большие машины: IA-64 и S/390.

2002 В июле, с некоторой задержкой, обусловленной проблемой с загрузочными дискетами, выходит Debian 3.0 (Woody). Лидером проекта становится Бдейл Гарби (Bdale Garbee), а компания HP начинает поставки серверов с предустановленным Debian. Lindows Inc. выпускает замену Windows, LindowsOS, базирующуюся на Debian. Компьютеры с этой ОС продавались в Wal-Mart по цене 199 долларов за штуку.

2003 Начато портирование Debian на платформу AMD64. Проект Dreamix перенес Debian на Xbox. Появились новые производные, в том числе, SkoleLinux и MePIS Linux, а Брюс Пиренс обрисовал стратегию UserLinux, бизнес-дистрибутива на основе Debian. Лидером проекта избран Мартин Милхмейер (Martin Michlmayr).

2004 Разработчики Debian проголосовали за поправки к Социальному Договору, так что термин «свободный» стал относиться не только к ПО, но и к прошивкам. Это и ряд других проблем притормозили Sarge, но не помешали выпуску релиз кандидатов модульного инсталлятора Debian Installer, находившегося в разработке четыре года. Родился новый настольный дистрибутив Ubuntu, создатели которого решили придерживаться шестимесячного релиз-цикла.

2005 Лидером проекта становится Бренден Робинсон. Наконец-то выходит Debian 3.1 (Sarge) с инсталлятором Debian Installer и улучшенным распознаванием оборудования. Появляется неофициальная версия для платформы AMD64.

Персональные инструменты
купить
подписаться
Яндекс.Метрика