BSD — для народа: PC-BSD и DesktopBSD как пользовательские десктопы


Автор: Алексей Федорчук
Опубликовано в журнале "Компьютерра" №20 от 01 июня 2006 года
У большинства людей, интересующихся информационными технологиями, операционные системы, альтернативные мировому монополисту MS Windows, ассоциируются с Linux. Однако не Линуксом единым жив мир Open Source - список открытых и свободных Unix-подобных операционок переваливает за дюжину. Конечно, многие из них сугубо экспериментальные и на практике используются мало. Однако ОС BSD-семейства - FreeBSD, NetBSD, OpenBSD, DragonFlyBSD, зародившиеся в академической среде Университета Беркли (Калифорния), - снискали достаточную известность и нашли применение в реальном мире.

Конечно, в основном это системы нишевые. Так, NetBSD, поддерживающая любые платформы, находит применение, с одной стороны, в гетерогенных сетях, с другой - во встроенных устройствах. Место OpenBSD - на серверах с повышенными требованиями к безопасности. Предельно "распараллеленная" DragonFlyBSD ждет своего звездного часа - когда машины с двухъядерными процессорами появятся в каждом доме. Ну а сфера применения FreeBSD - в первую очередь серверы Интернета и интрасетей.

Однако именно FreeBSD, изначально ориентированная на самую демократичную платформу i386, вполне могла бы прижиться на пользовательских десктопах как ОС общего назначения. Почему же этого не произошло?

Главная причина в том, что закрепившаяся за FreeBSD слава серверной платформы отпугивает рядовых компьютеровладельцев. Этому в немалой степени способствуют и сами апологеты данной ОС - преимущественно администраторы компьютерных сетей. Однако в последние годы наблюдаются и некоторые попытки сломать подобный стереотип.

Второе препятствие на пути к широкому внедрению FreeBSD - непривычная схема разметки диска. При первой в своей жизни установке Linux пользователь сталкивается с теми же Primary и Extended Partitions и логическими разделами внутри последних, с которыми он уже знаком по Windows. А вот BSD-мир требует погружения в омут слайсов и субпартиций - то есть в материи, для которых не существует даже устоявшейся англоязычной номенклатуры.

Наконец, третья причина малой распространенности FreeBSD: sysinstall - ее универсальная программа установки и конфигурирования - традиционно полагается сложной и неудобной. Так это или нет, вопрос спорный. Однако факт остается фактом: новичку не всегда удается должным образом установить эту ОС с первого раза.
На смену sysinstall

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

Отличительная черта BSD Installer: его низкоуровневая кодовая база может быть легко надстроена над любым интерфейсом, от чисто текстового до сколь угодно навороченного графического, использующего функциональное богатство таких библиотек, как Qt или Gtk.

Первой, однако, нашла применение текстовая версия BSD Installer, которая стала стандартным установщиком в DragonFlyBSD. Но вскоре и графическому варианту, основанному на библиотеке Qt, подыскали работу: он лег в основу двух проектов, призванных повысить популярность FreeBSD в народе: PC-BSD и DesktopBSD.

Чтобы оценить важность этих событий, вернемся чуть назад во времени и чуть в сторону в пространстве (операционных систем). В Linux-мире, где тоже существует проблема "порога вхождения" для неподготовленных пользователей, решение нашли в создании дружественных к пользователю дистрибутивов (user friendly distributions). Непременным атрибутом такого дистрибутива, со времен первых версий Mandrake (ныне - Mandriva), был простой графический инсталлятор, способный выполнять трудные для новичка действия (разметку диска, выбор компонентов, настройку оконной системы X, именуемой в народе просто Иксами, локализацию и др.) в автоматическом или полуавтоматическом режиме.

Однако специфика дистрибутивов Linux такова, что рано или поздно они обрастали собственными "всеобъемлющими" графическими конфигураторами, средствами пакетного менеджмента и схемами инициализации. Таким образом, дистрибутивы превращались в практически самостоятельные системы, умножающие сущности (один из самых ярких примеров - все та же Mandriva).

На берклианской почве традиции дружелюбия к пользователю долгое время не прививались. А немногочисленные LiveCD, построенные на базе FreeBSD или NetBSD, предназначались либо для специальных целей, как, например, Frenzy - универсальное орудие "приходящего" системного администратора, либо для получения самого общего представления о системе.

И вот свершилось! В мае 2005 года в свет выходит бета-версия первого в истории пользовательского дистрибутива FreeBSD, получившего имя PC-BSD. Это именно дистрибутив в буквальном смысле слова - то есть способ распространения операционной системы. В основе его лежит FreeBSD текущей ветки, в неизменном виде, лишь дополненная некоторыми компонентами, среди которых самые важные - установщик (BSD Installer в графической ипостаси) и собственная система пакетного менеджмента. По умолчанию PC-BSD также комплектуется средой KDE и ее приложениями.

Видимо, идея пользовательского варианта FreeBSD витала в воздухе. И проект PC-BSD недолго оставался в одиночестве - спустя три месяца к нему присоединился DesktopBSD. Его идея была аналогичной: графический установщик на базе того же BSD Installer, автоматическая установка Иксов и KDE (правда, до собственного средства управления пакетами здесь дело не дошло).

В течение многих месяцев оба дистрибутива регулярно выходили в виде бета-версий, пре-релизов и кандидатов в релизы, пока обе команды разработчиков не пришли к выводу, что их творения достойны гордого звания релиза - сначала DesktopBSD, а затем и PC-BSD.
PC-BSD: Установка

Как я уже говорил, идеологически PC-BSD и DesktopBSD чрезвычайно близки. Однако реализация дружелюбия к пользователю в них несколько разнится, так что их целесообразно рассмотреть по отдельности.

Начну с PC-BSD. Дистрибутив доступен для свободного скачивания с официального сайта проекта в виде образов двух компакт-дисков - установочного (683 Мбайт) и диска многоязычной поддержки для KDE (250 Мбайт). Второй диск для установки не нужен - модуль русификации можно поставить и позже. Есть в комплекте и третий диск - своего рода пробный, адаптированный для запуска внутри виртуальной машины VMWare из-под Windows или Linux.

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

Точнее, предстанут, конечно же, Иксы с запущенным оконным менеджером Fluxbox, три десктопа которого пригодны для использования: установочный диск PC-BSD представляет собой LiveCD, пригодный для ознакомления с системой. Инсталлятор же стартует на первом десктопе в полноэкранном режиме.

Установка PC-BSD очень проста и совершается буквально в пять кликов мышью. Вначале предлагается выбрать язык и раскладку клавиатуры. В списке доступных фигурирует и русский, но на нем имеет смысл остановиться только при наличии второго диска. А выбор русскоязычной клавиатуры вообще приведет к осложнениям - впрочем, преодолимым.

Затем следует предложение выбрать диск и его раздел для установки. Весьма ценно, что здесь же можно прочитать о специфике BSD-номенклатуры дисковых устройств и их разделов (правда, лишь на английском языке).

Вариантов тут немного: можно либо задействовать один из существующих первичных разделов (любого типа), либо - диск целиком; создание произвольного раздела на неразбитом пространстве невозможно. Выбранный раздел (в терминологии FreeBSD - слайс) можно разбить на привычные любому берклианцу субпартиции, но только первого порядка - /usr, /var и т. д. А разметка по умолчанию оказывается весьма странной: в пределах выбранного слайса создается раздел под корневую файловую систему (ad#s#a с файловой системой UFS) на весь его объем, за исключением места под раздел подкачки (ad#s#b), равного удвоенному объему оперативной памяти. Удалить раздел подкачки не получится - можно лишь урезать его, присоединив остаток к корню (или, например, к /usr или /var).

Через несколько мгновений, за которые, собственно, и выполняется разметка и форматирование, последует предложение установить загрузчик. Им будет, естественно, BSD Loader, но от него можно отказаться, если какой-либо менеджер загрузок (например, GRUB) уже установлен: правда, в этом случае его потребуется настраивать самостоятельно.

Сам по себе процесс установки системы занимает немалое время - ведь кроме FreeBSD Distributions инсталлируются Иксы и KDE почти в полном составе. Выбора пакетов не предусмотрено, но во фрейме помощи разъясняется, что мы получаем в свое распоряжение KDE 3.5.2, а за дальнейшей информацией предлагается обратиться на сайт проекта.

Последний этап: указание пароля администратора (root) и создание учетной записи обычного пользователя. При этом в окне помощи популярно разъясняется, для чего нужен пользовательский аккаунт и какие функции возложены на администратора.

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

Выполнив это, мы оказываемся в последней панели инсталлятора, предлагающей рестарт машины. А заодно сообщающей, что дополнительные прекомпилированные пакеты, устанавливаемые "в один клик", можно скачать с сайта проекта. Впрочем, тут же разъясняется, что и использования традиционной для FreeBSD системы портов никто не отменял. Более того, нам любезно сообщают, каким образом это дерево портов можно заполучить.

Вот и все. Следует перезагрузка, в ходе которой запрашивается второй диск - для установки поддержки русского (или какого-либо иного) языка. Независимо от его наличия или отсутствия по завершении загрузки на экране появляется панель менеджера графического входа в систему (kdm). И если в соответствующих полях ввести имя и пароль пользователя (заданные на этапе инсталляции), через некоторое время мы оказываемся в среде KDE. Правда, в отличие от обстановки инсталляционного LiveCD все обычные для FreeBSD восемь текстовых консолей тоже доступны.
PC-BSD: Работа

Во избежание недоразумений подчеркну: то, что мы получили после установки дистрибутива PC-BSD, являет собой самую что ни на есть обычную FreeBSD с ядром GENERIC и традиционной схемой инициализации: никаких отличий от материнской системы макроскопически выявить не удается.

Набор установленных из дистрибутива KDE-приложений содержит практически все необходимое: от сетевых средств до графики, мультимедиа и даже игр. В то же время KDE-излишеств (типа пакетов kdeedu и kdetoys) не наблюдается.

Если второй диск не использовался, ни о какой русификации KDE и речи быть не может. Консоль по умолчанию тоже не русифицирована. Однако в Иксах наличествуют не только штатные шрифты cyrillic, но и TTF-гарнитуры из набора Dejavu, содержащие вполне приемлемые символы кириллицы. Так что начинать работать с родной речью можно и без второго диска. А вот ввести символы латиницы не удастся. И нетрудно узнать почему: выбор русской раскладки на стадии инсталляции приводит к забавному результату - отсутствию раскладки латинской. Что легко правится руками - но начинающего пользователя может обескуражить…

Из прочих важных для неофита вопросов отметим наличие "из коробки" звука (правда, не со всеми звуковыми чипами - для встроенного AC’97 поддержка не гарантирована) и отсутствие видео, оно потребует установки дополнительных кодеков.

Возникает вопрос: где брать софт, не попавший на дистрибутивный диск? И тут "средь мира дольного, для сердца вольного есть два пути". Один - "просторная, дорога торная", которая ведет к использованию обычных портов (то есть сборки программ из исходников по определенным правилам) и бинарных пакетов FreeBSD (обе процедуры многократно описаны в литературе - например на posix.ru/distro/bsd_ports и posix.ru/distro/bsd_pkg). Правда, и тот и другой способы требуют подключения к Интернету, а разговора о его настройке в ходе инсталляции не было. Тем не менее особых сложностей тут не предвидится. Модемное соединение элементарно настраивается средствами KDE - конечно, при использовании нормального "железного" модема. Ну а сетевое соединение можно настроить обычным для FreeBSD способом - программу /stand/sysinstall тоже никто не отменял.

К слову сказать, для сборки из портов или установки из собранных бинарных пакетов во FreeBSD (и, соответственно, в PC-BSD тоже) доступны практически все те же приложения, что и в любом Linux, включая OpenOffice.org, MPlayer и еще десять с лишним тысяч программ. Исключение - единичные коммерческие продукты, "заточенные" именно под Linux и не распространяемые в исходных текстах, начиная с RealPlayer и заканчивая СУБД Oracle. Однако и тут отчаиваться не стоит: при необходимости они могут быть запущены в BSD-системах в режиме так называемой совместимости с Linux. Что, впрочем, - тема отдельного разговора.

Другой путь наращивания функциональности дистрибутива - это прекомпилированные пакеты в собственном формате, получаемые с сайта проекта pcbsd.org). Установить их проще простого: средствами KDE (например, через kget) файл пакета (вида *.pbi.gz) скачивается и помещается на рабочий стол, после чего инсталлятор пакетов запускается щелчком мышью по пиктограмме.
Система пакетного менеджмента - главное (и чуть ли не единственное) отличие PC-BSD от прототипа. И, нужно сказать, в этой системе ее создатели замахнулись на самое святое - на принцип размещения установленных компонентов. Потому что все они собираются в каталог /usr/local/MyPrograms/pkg_name - и исполняемые бинарники, и все библиотечные составляющие. То есть такой пакет оказывается абсолютно автономным и не нуждается во внешних библиотеках. А для удобства его запуска символическая ссылка на исполняемый файл помещается на обычное место - в /usr/local/bin.

Крамола! - воскликнет закоренелый "фришник". Не совсем, - возразим ему мы. Предлагаемая система пакетного менеджмента позиционируется разработчиками не как замена традиционных ports и packages, а лишь как их дополнение: все общесистемные компоненты и главные приложения (включая Иксы и KDE) устанавливаются и размещаются традиционным способом (в разделяемые подкаталоги /usr/local и /usr/X11R6). А каталог /usr/local/MyPrograms предназначен преимущественно для дополнительного программного обеспечения - того, которое пользователь полагает нецелесообразным собирать из портов. То есть назначение /usr/local/MyPrograms подобно назначению каталога /opt во многих дистрибутивах Linux. Особую радость от такого размещения пакетов ощущаешь при их удалении - для чего достаточно снести одноименный подкаталог.
DesktopBSD

Ну вот, про PC-BSD хватит, переходим к DesktopBSD. И она, разумеется, может быть получена с официального сайта проекта - в следующих вариантах:

как образ инсталляционного CD на 686 Мбайт - это собственно система;
как опциональный образ CD (162 Мбайт), на котором имеют место быть пакеты поддержки языков, отличных от американского английского;
в виде образа установочного DVD-диска объемом 1281 Мбайт - он представляет собой совокупность обоих CD, причем существует в двух вариантах - для архитектур i386 и AMD64.


Установку DesktopBSD начинаем с того, что грузимся с CD и получаем обычное для FreeBSD меню с чертиком.

Тут могут потребоваться кое-какие действия: например, отключение поддержки ACPI или выбор загрузки в safe mode (на моем ноутбуке Fujitsu-Siemens AMILO загрузить DesktopBSD удалось только последним способом).

Графический инсталлятор системы на PC-BSD’шный внешне не похож, но родовые признаки BSD Installer’а, обрамленного Qt-интерфейсом, вполне узнаваемы. На привычный вопрос о языке установки можно отвечать без особых опасений: выбор "великого и могучего" приводит лишь к русификации установочной программы и, в отличие от PC-BSD, не влечет за собой никаких побочных эффектов.

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

Выбор пакетов здесь тоже не предусмотрен - гуртом ставятся и FreeBSD Distributions, и все дополнительное хозяйство - Иксы, KDE и пр.

После сборки ОС, задания пароля администратора, заведения аккаунта пользователя и ознакомления с концепцией системы (или отказа от оного) происходит загрузка KDE. Звук и сеть есть "из коробки" - для моих встроенного аудио от nForce3 и сетевой карточки Realtek 8139 все определилось автоматически, DHCP подхватился, можно лезть в Интернет. Имеется некий минимум KDE-приложений - на уровне kdebase и еще немного. В качестве менеджера пакетов - обычный portupgrade. Хорошо это или плохо - дело вкуса.

С точки зрения локализации Desk-topBSD выглядит существенно лучше, чем PC-BSD: Иксы в ней русифицированы безукоризненно: имеются как латинская us, так и русская ru(winkeys) раскладки; разве что не всем понравится переключение с латиницы на кириллицу по Control+Shift - но это легко изменить вручную.
Заключение

Вот, собственно, и все. Резюме: как PC-BSD, так и DesktopBSD вполне годятся для того, чтобы быстро установить FreeBSD и полюбоваться на нее. А идеальную схему разметки с первого раза мало кому удавалось сделать и через sysinstall.

Главное - порочной тенденции ветвления FreeBSD как таковой пока не просматривается. И PC-BSD, и DesktopBSD - это всего лишь способы распространения все той же обычной FreeBSD.

Соответственно, и оценивать их нужно с точки зрения легкости последующей миграции на нормальную FreeBSD. И здесь, на мой взгляд, преимущество за PC-BSD - за счет возможности ручной разметки диска. Однако для немедленного практического использования DesktopBSD представляется более подходящей - поскольку не требует дополнительных усилий по локализации.

Обновлено: 16.03.2015