DragonFlyBSD: история полетов

Алексей Федорчук
2004.11.19

...Много воды утекло,
и всех, кто мог чего-то помнить,
давным-давно замочили.
Гоблин, Братва и кольцо

Не каждый день на наших глазах возникает (и, главное, активно развивается, а не забрасывается по прошествии недолгого времени) новая операционная система. Кто не догадался - речь идет о DragonFlyBSD, ответвлении FreeBSD, проект которой стартовал в июле 2003 г. А поскольку я следил за ним фактически с самого начала, то и решил сочинить эту заметку исторического плана. Пока еще чего-то помню (и пока меня не замочили:-)).

Итак, в июле 2003 г. (точной даты на память не помню) Мэтт Дилан, известный, объявил о начале работы над новой ОС - DragonFlyBSD, отделившейся от FreeBSD 4-й ветки (хотя в то время уже вовсю развивалась ветка 5-я, вбирающая в себя все инновации).

А известен Мэтт к тому времени был тремя разработками: Си-компилятором для платформы Amiga, утилитой dcron и, главное, системой управления виртуальной памятью FreeBSD. Не то чтобы он был единственным автором последней, однако его работы в этой области оказались определяющими для современного состояния данной ОС. И, что немаловажно, именно он в специальной статье описал архитектуру виртуальной памяти языком, понятным для широких масс трудящихся. Очень рекомендую к прочтению - во введении к ней высказано немало интересных мыслей общего характера. Тем более, что русский перевод ее доступен, например, здесь.

Некоторое время проект развивался как бы закулисно. Конечно, все желающие ознакомиться с прототипом системы могли получить ее исходники с сайта проекта (через CVS) и развлекаться с ними в свое удовольствие. Однако в виде, пригодном для установки простыми смертными она не существовала. По крайней мере, не распространялась.

И вот, начиная с весны 2004 г., один за другим начали появляться iso-образы компактов различных бета-версий DFBSD. Они не имели еще инсталлятора: следовало вручную разметить диск и, руководствуясь довольно скромной по объему документацией, перенести на него систему с дистрибутивного CD. Задача была не то чтобы очень сложной - но и не вполне тривиальной: у меня, например, с одной из первых бет ничего не вышло. Следовало просто руками разбить диск на слайсы и разделы, скопировать определенные каталоги с CD командой cpdup и произвести еще кое-какие манипуляции (типа там создания файлов устройств).

А затем... А затем, в июне 2004 г., появился пре-релиз DFBSD. От своих предшественников он отличался тем, что уже имел инсталлятор - BSD Installer, разработанный как универсальный установщик для любых BSD-систем. Но впервые, насколько я знаю, опробованный именно на DFBSD.

Отличительная особенность BSD Installer в том, что теоретически к нему могут подключаться фронт-энды, созданные на базе самых разных библиотек. В дистрибутиве DFBSD был использован текстовый (псевдографический) фронт-энд на основе библиотеки ncurces. Однако, насколько можно понять по информации с сайта проекта, ведутся работы по созданию Qt'шных и Gtk'шных "морд" для него.

С одного из последних пре-релизных дисков и началось мое практическое знакомство с DFBSD (до этого я полюбил ее заочно и чисто платонически). И знакомство успешное: установка прошла без малейших осложнений (о чем было написано в заметке про Тошибу. Однако в моих тогдашних условиях система к практическому использованию оказалась не пригодной - если, конечно, не собирать вручную всех потребных приложений. Ибо, кроме базовой системы, тот дистрибутив DFBSD не содержал ничего - ни Иксов, ни прекомпилированных пакетов (за исключением полудюжины консольных утилит), ни чего-либо вроде системы портов (хотя в будущем таковая была обещана).

Нужно сказать, что пре-релизная стадия для DFBSD оказалась очень короткой: уже в начале июля (11-го, если не ошибаюсь, числа), практически в годовщину проекта, было объявлено о выходе релиза - DragonFlyBSD 1.0-RELEASE. Правда, и он просуществовал недолго, сменившись баго-фиксным релизом 1.0A. Каковой и по сей день доступен на сайте проекта.

Начиная с этого момента, DFBSD можно было считать более-менее пригодной к использованию. Сам по себе дистрибутив по прежнему не включал ни пакетов, выходящих за рамки базовой системы, ни системы портов. Однако прекомпилированные пакеты к нему можно было найти сразу на двух сайтах (см. ресурсы по теме). Причем если на LiveBSD имелся лишь самый минимум-миниморум дополнительных приложений, то GoBSD содержал практически все, что имелось в коллекции портов FreeBSD (с системой портов коей DFBSD сохраняет как-будто бы совместимость). Правда, ни на том, ни на другом сайте коллекции пакетов с июля практически не обновлялись...

И дальнейшая работа над системой не прекращалась. С интервалом в 3-5 дней на ftp-сервере проекта и его зеркалах начали появляться текущие снапшоты - в виде iso-образов полной системы и отдельно - ядра от них. Снапшоты выходили в двух вариантах: собранные gcc-2.95 и gcc-3.4. Первые позиционировались как рабочие, вторые - как сугубо экспериментальные. Что, впрочем, не мешало и им функционировать вполне справно.

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

Двигалось дело и портированием сторонних приложений. В DFBSD появилась собственная система портов - dfports. Насколько можно судить по ее make-файлам, она весьма сходна со своим прототипом из FreeBSD. На сегодняшний день в коллекции портов немного приложений - посмотрим, что будет дальше.

А на GoBSD пошли другим путем - и прикрутили в DFBSD pkgsrc - портообразную систему, заимствованную из проекта NetBSD. И таким образом в распоряжении пользователя новой ОС сразу оказалось все изобилие открытого и бесплатного софта, портированного на эту платформу - а надо отметить, что на NetBSD он портирован практически весь.

Такова на сегодняшний день короткая, но насыщенная история DragonFlyBSD. Надеюсь, она не окончена, и будет дописываться по мере разворачивания событий.

Обновлено: 12.03.2015