BSD-системы с птичьего полета

Алексей Федорчук
[email protected]

По причинам вполне понятным, основное внимание в этом цикле бужет уделено FreeBSD. Однако это - не единственный представитель славного Берклианского семейства, которое включает более чем полдюжины самостоятельных операционок.

Наибольшей известностью в BSD-клане (после FreeBSD, конечно) пользуются OpenBSD и NetBSD, которые кратко рассмотрим в сравнительном аспекте. Личные впечатления от краткого общения с NetBSD приведены в отдельной статье. А более подробный (хотя и несколько устаревший) опыт общения с OpenBSD будет дан в специальном субцикле.

С точки зрения формальной доступности обе эти системы ничем не отличаются от FreeBSD, поскольку она определяется все той же BSD-лицензией. С физической же доступностью - положение чуть иное.

Основной формой распространения OpenBSD является ftp-сервер проекта и его зеркала. При этом в ftp-доступе не удастся обнаружить iso-образов дистрибутива OpenBSD, а только наборы дистрибутивных архивов. И вообще, как можно догадываться, распространение дистрибутивов системы - исключительно прерогатива проекта. Правда, в Сети можно при большом желании найти OpenBSD-образы, подготовленные независимыми майнтайнерами, однако их юридический статус остается не вполне ясным.

Базовый комплект OpenBSD не столь уж велик, включая дюжину отдельных архивов (baseXX.tgz, compXX.tgz, etcXX.tgz, manXX.tgz, miscXX и т.д.) общим объемом около 50 Мбайт. И потому получение его по ftp вполне реально. Однако нужно учесть, что сюда не входят ни XFree86, ни исходные тексты системы (и даже ее ядра), ни дополнительные пакеты и коллекция портов. Так что можно констатировать, что при отсутствии доступа в Интернет (хотя бы модемного) использование OpenBSD становится проблематичным.

Для NetBSD iso-образы дисков доступны. Первый, инсталляционный, диск содержит базовые компоненты системы и имеет объем около 70 Мбайт (в версии для PC). На прочих дисках располагается коллекция дополнительных пакетов. Разумеется, можно скачать и отдельные архивные файлы, организованные примерно по той же схеме, что и в OpenBSD.

OpenBSD может быть установлена с дистрибутивного CD, дискового раздела или по ftp-протоколу. Дистрибутивный CD - загрузочный, в остальных случаях требуется boot-дискета (правда, всего одна). Сама по себе программа установки аскетична до предела. Весь процесс проходит в "черном" текстовом режиме и, в сущности, сводится к разметке диска, выбору пакетов, их распаковке и записи на диск. После этого можно выполнить минимальные пост-инсталляционные настройки - сетевого соединения и часового пояса.

Инсталляционный диск NetBSD для архитектуры PC до недавнего времени не позволял выполнить с него загрузку - требовались загрузочные дискеты. Положение изменилось лишь в текущей (1.6.1) версии. Но дискеты, разумеется, потребуются при установке по сети или с дискового раздела. Программа установки (она же - конфигурационная утилита) sysinst - также чисто текстовая, некоторым подобием меню. Существенных отличий от инсталлятора OpenBSD не обнаруживается - последовательно выполняются разбиение диска, выбор пакетов, их установки, после чего (или до - при установке по ftp) настраивается сеть и устанавливается часовой пояс.

Характерной особенностью OpenBSD и, особенно, NetBSD является чрезвычайно широкий спектр поддерживаемых аппаратных платформ - в списке их, кроме PC, можно обнаружить Mac68xxx и Mac PPC (причем NetBSD поддерживает также клоны последнего), Sun Sparc, Alpha, HP PA и многие другие, о которых я и не слышал. Правда, врядли это может представлять большой интерес для отечественного пользователя.

Для PC-архитектуры требования OpenBSD и NetBSD к аппаратуре идентичны таковым FreeBSD. Нет и существенных отличий в круге поддерживаемых карт расширения и периферийных устройств. Правда, NetBSD не поддерживает некоторые устройства, числившиеся когда-то экзотикой, но ныне ставшие чуть ли не стандартными (например, IDE RAID). А вот OpenBSD отличается оперативным включением поддержки вновь появляющегося оборудования (вплоть до того, что в ее консоли работает скроллинг для мышей с колесиком).

Основанные на родственном ядре, OpenBSD и NetBSD столь же устойчивы в работе, как и FreeBSD. При этом OpenBSD считается одной из самых надежных систем сточки зрения безопасности.

В OpenBSD заимствована система портов FreeBSD. Круг специально адаптированных для нее приложений несколько уже, чем для FreeBSD, но расширяется с каждой новой версией. На ftp-сервере проекта и в составе дистрибутивных дисков представлено и значительное количество бинарных пакетов для этой ОС. В NetBSD система портов до недавнего времени отсутствовала, и дополнительное программное обеспечение, выходящее за рамки базового комплекта, было доступно только в виде скомпилированных пакетов. Или (и это - рекомендованный способ) для самостоятельной сборки из исходников.

Полноты картины ради следует упомянуть еще об одной BSD-системе - BSDi. Правда, сказать о ней могу очень мало. В отличие от прочих, это - коммерческий продукт, лицензия на который распространяется за деньги (уж не знаю, какие). Он не является и открытым в понимании Open Sources, поскольку исходники системы, хотя и доступны, но - за отдельную плату. За последние несколько лет BSDi несколько раз поменяла своих владельцев, и в настоящее время судьба ее не ясна.

До сих пор речь шла о полнофункциональных и реально работающих ОС, используемых в различных сферах на протяжении длительного времени. Однако ими не исчерпывается перечень открытых и свободно распространяемых систем, генетически связанных с BSD. Правда, кратко рассмотренные ниже системы - GNU Darwin, xMach, Yamit, - в настоящее время находятся в стадии разработки и не могут использоваться как полноценные платформы для реальной работы.

Общей их чертой является микроядерная архитектура - все они основаны на разных вариантах микроядра Mach, разрабатывавшегося вплоть до середины 90-х годов в Университете Карнеги-Меллона, надстроенного системными серверами, заимствованными из BSD-систем.

Система GNU Darwin представляет собой воспроизведение ядра и системного окружения MacOS X, разработанное в рамках одноименного проекта. Она существует в версиях для двух архитектур - MacPPC и iX86, правда, еще далеких от завершения.

Система xMach основана на микроядре Mach4 - доработке исходного Mach3, выполненной в Университете Юты. Она доступна на сайте проекта в виде CVS-дерева исходных текстов. При некоторой настойчивости ее можно отыскать там и в бинарном виде. Системное окружение в xMach заимствовано из NetBSD достаточно старой (1.3) версии, несколько переработанной для совместимости с ядром. Этот переработанный вариант также может быть получен с сайта xMach.

Установка xMach представляет весьма нетривиальную задачу. Для этого требуется разместить на CD бинарные пакеты как ядра, так и указанного варианта NetBSD. Далее средствами программы sysinst из NetBSD (загрузившись с дискет для любой ее версии от 1.3.1 и выше) следует создать дисковый раздел для этой ОС и файловые системы на нем. Затем требуется перезагрузка системы с использованием загрузочных дискет OpenBSD (подойдут образы от версий 2.8-3.0). Вслед за ней монтируются созданные файловые системы и CD - носитель полученных компонентов. С него обычным образом распаковываются архивы дистрибутива NetBSD, после чего происходит подмена ядра последней ядром, содержащемся в бинарном пакете xMach. Наконец, потребуется мультисистемный загрузчик GRUB достаточно новых (например, 0.9x) версий: с его помощью, если повезет, xMach будет загружен.

Система Yamit в основе своей имеет классическое ядро Mach3. Она позиционируется как стабильная масштабируемая BSD-подобная система для использования в мультипроцессорных конфигурациях. Никаких иных сведений о ней мне обнаружить не удалось, а собственного впечатления пока получить даже не пытался.