Всё имеет свое начало...
3. Нетрадиционные методы установки

Глава из книги Сага о FreeBSD

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

2008-11-12

назад | к началу

Установка с помощью finstall

Перед нами новая попытка одеть FreeBSD во фрак, предпринятая Иваном Ворасом (Ivan Voras) рамках все той же программы Google's Summer of Code 2007. В отличие от BSD Installer и его производных, finstall основывается на собственном back-end'е и имеет графический front-end, построенный на Gtk, запускаемый из среды XFce. Вопреки тому, что было сказано в историческом обзоре, проект этот продолжает развиваться, хотя и не ударными темпами: последняя его версия датируется маем 2008 года и, в виде сжатого образа установочного диска, может быть получена отсюда.

Сразу отмечу, что устанавливаемая с этого диска система — обычная FreeBSD для архитектуры i386 (на данный момент — версии 7.0). Декларируемые же особенности её инсталлятора, среди всего прочего, включают возможность "из коробки" обеспечить работу программного RAID, журналирование файловой системы UFS2 и использование файловой системы ZFS. То есть то, что при стандартной установке через sysinstall невозможно и требует последующих не вполне тривиальных манипуляций. Забегая вперед, скажу, что сведения эти несколько преувеличены и скорее предполагаются в проекте.

Тем не менее, попытка — не пытка. Скачиваю указанный выше файл, распаковываю (после чего объем образа оказывается чуть больше 400 мегабайт), записываю на болванку и загружаюсь с нее — обычным образом.

После загрузки появляется обычная ныне FreeBSD'шная заставка — без деймона, просто с псевдографической надписью FreeBSD), и с обычными же пунктами меню:

  • 1. Boot FreeBSD [default]
  • 2. Boot FreeBSD with ACPI disabled
  • 3. Boot FreeBSD in Safe Mode
  • 4. Boot FreeBSD in single user mode
  • 5. Boot FreeBSD with verbose login
  • 6. Escape to loader prompt
  • 7. Reboot

В моем случае без всяких проблем прошел пункт 1 — ACPI отключать не потребовалось.

Далее происходит загрузка собственно системы (довольно медленная) и появляется приглашение к авторизации. Вариантов — два: зайти как root для выполнения аварийно-восстановительных работ в консоли, или авторизоваться под логином install для запуска LiveCD-окружения и установки системы в графическом режиме. Оба варианта — пароля не требуют. Кстати, консольная мышь активизирована сразу.

С root'ом — все ясно: в этом варианте мы получаем минимальную систему, почти ту же самую, что и при загрузке в однопользовательском режиме. А вот вход под логином install вызывает для начала как бы псевдографическую панельку в обычном FreeBSD'шном стиле (неотличимую от аналогичной панели sysinstall), которая предлагает выбрать раскладку клавиатуры. Переключиться в другую виртуальную консоль, однако, возможно только комбинацией клавиш Alt+Control+F#. Консолей — стандартное для FreeBSD количество (то есть 8).

Выбираем раскладку раскладке. Из кириллических раскладок доступны:

  • CP866
  • ISO-8859-5
  • KOI8-R
  • KOI8-R (shift)

Как и следует ожидать, ничего юникодовского нет и в помине – консольный драйвер FreeBSD, syscons, имеет внутреннее 8-битное представление символов и потому принципиально к этому не способен. Хотя, учитывая, что все дальнейшие события осуществляются в графическом режиме в среде XFce, можно было бы предусмотреть и UTF-8 – тем более что, как будет видно дальше, на консоли выбор раскладки все равно не сказывается. Забегая вперёд, замечу, что выбирать надо антипатриотическую американскую раскладку — например, United States of America Traditional Unix. И ни в коем случае не поддаваться на провокацию с кириллическими раскладками.

Далее следует вопрос об установке системных часов — по Гринвичу или локально (второй вариант отмечен по умолчанию). Затем — предложение выбрать часовой пояс, по обычной для sysinstall схеме: континент — > страна — > город (то есть в моем случае Europe -> Russian Federatipn -> Moscow+00 — west Russia.

А вот теперь и начинается загрузка Иксов и с ними — интегрированной среды XFce. Происходит она медленно и печально, после чего мы собственно и оказываемся в обстановке LiveCD с более или менее правильно настроенным видеорежимом. Впрочем, "жизненность" этой обстановки несколько условна: сеть автоматически не настраивается (даже при банальном DHCP), раскладка клавиатуры в Иксах — только та, что была выбрана ранее; то есть при любой кириллической раскладке есть возможность вводить только русские буквы, а способа переключения на латиницу я так и не нашел. В консоли же, напротив, не зависимо от выбора раскладки, вводятся только символы латиницы. Из приложений — XFce'шный терминал, редактор Mousepad, файловый менеджер Thunar, браузер FireFox и почтовый клиент Thunderbird, бесполезные из-за отсутствия сети. Нет даже никакого средства для создания скриншотов. Да и работает все наличное хозяйство с компакта крайне задумчиво — много медленней, чем Linux'овые LiveCD аналогичной конфигурации.

Да, виртуальные текстовые консоли по прежнему доступны — по той же комбинации Alt+Control+F#. В них можно авторизоваться root'ом, однако что делать дальше — не понятно, консольных приложений, кроме самого необходимого аварийного набора, нет.

В общем, только и остается, что отыскать на рабочем столе пиктограмму FreeBSD Installer и, дважды щелкнув не ней мышью, приступить к установке. Что мы и проделаем.

После этого появляется установочное меню о четырех пунктах:

  • 1. Novice (minimal interaction)
  • 2. Standard (allow advanced pre-install configuration, including RAID)
  • 3. Expert (only if yuo know what yuo doing)
  • 4. Configuration only (skip install)

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

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

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

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

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

  • 1. UFS+SoftUpdate — традиционно для FreeBSD.
  • 2. UFS+gjornal — ее же вариант с журналированием (некое подобие ext3 в Linux).
  • 3. ZFS — та самая, о ручном подключении которой речь шла в предыдущей главе.
  • 4. Ext2 — система для совместимости с Linux.

Собственно, главной целью моего знакомства с finstall было проверить — а работает ли он "из коробки" с файловой системой ZFS. Однако пункт меню, касаемый оной, пока нельзя активизировать (видимо, и это — в в светлом будущем, в отдаленной перспективе). Так что останавливаемся на традиционном UFS+SoftUpdates. После этого предлагается схема автоматической разметки в следующем виде:

  • ad4s1a / 512 Мбайт;
  • ad4s1b swap 990 Мбайт (примерно удвоенный объем ОЗУ);
  • ad4s1d /var 2048 Мбайт;
  • ad4s1e /usr 10240 Мбайт;
  • ad4s1f /home 138831 Мбайт (в данном случае -- всё, что осталось от предыдущих разделов).

Возможности изменить ее нет. Хотя сама по себе умолчальная схема разметки и разумна, но иногда ее будет недостаточно: подчас целесообразно вынести на самостоятельные разделы такие ветви файловой системы, как /usr/local, /usr/src, /usr/ports, /usr/ports/distfiles.

Все разделы, разумеется, несут на себе UFS+SU (в том числе и корень, который в sysinstall по умолчанию ложится на чистую UFS, без SoftUpdates). Поскольку собственно разметки еще не произошло, возвращаюсь назад и выбираю вариант с UFS+gjornal — чисто для интереса. Схема разметки получается абсолютно та же, только каталоги /usr и /home оказываются лежащими на UFS+gjournal (для корня и /var сохраняется UFS+SU). С gjournal мне раньше иметь дело не приходилось, потому оставляю последнюю схему разметки в экспериментальных целях.

Теперь по нажатии кнопки Next происходит собственно создание разделов и файловых систем (надо сказать, практически мгновенно). Потом, без всякого перехода, начинается установка базовой системы FreeBSD, а вслед за тем — неких пакетов, каких именно — не ясно. Переключение в текстовые консоли в ходе установки оказывается невозможным — то есть пользователь старательно отлавливает абсолютно черную кошку в абсолютно темной комнате (причем не понятно, какого эта кошка размера).

Установка пакетов оказывается не очень долгой. По ее завершении предлагается задать имя хоста (по умолчанию finstall) и ввести пароль администратора — тут-то и оказывается, что на самом деле при установке единственно возможная раскладка клавиатуры — американская: хотел бы я посмотреть на реакцию системы на кириллический пароль. Правда, имеется кнопка Generate — вероятно, как раз для таких случаев. Правда, запоминать такие сгенерированные пароли — задача не из простых.

Впрочем, проблема оказывается чисто теоретической — в моем случае после назначения root'ового пароля произошел полный зависон — абсолютно мертвый, потребовавший опять-таки выдирания силового кабеля. Попытка, после перезагрузки и прохождения описанных выше стадий — вплоть до запуска инсталлятора, — опробовать 4-й пункт его меню (Configuration only) дала тот же самый результат: мертвый вис после определения пароля администратора. Грузиться с винчестера система при этом отказывалась категорически, ссылаясь на невозможность считать ядро. Так что поглядеть на результаты установки мне удалось чисто внешне — загрузившись обратно же с CD, войдя root'ом в консольный режим, подмонтировав разделы / и /usr и проглядев их содержимое командой ls.

В двух словах — результатом оказалась установка стандартного FreeBSD Distributions и набора консольных программ. Ни малейших Иксов, не говоря уже о каких-либо графических средах и приложениях, на диске не обнаруживается (впрочем, об этом можно было бы догадаться, внимательно просмотрев содержимое установочного компакта). Нет, разумеется, ни дерева портов, ни исходников ядра и системы. В общем, даже если бы не произошло зависания на стадии ввода пароля администратора (вероятно, обусловленного сочетанием конкретной версии с конкретным "железом"), система все равно требовала бы длительной доводки.

Таким образом, повторюсь: в существующем виде finstall для практической установки не пригоден. Тем не менее я не стал бы осуждать его категорически: ведь автор честно назвал свою разработку альфа-версией, от которой не стоит ожидать ни функциональности, ни стабильности. Будем надеяться, что он доведет свою работу до логического завершения. Внешне установщик производит вполне приятное впечатление, прост и понятен в использовании.

Главная же особенность этого установщика — функциональность, правда, существующая пока только в проекте. Обычно графические альтернативы традиционных текстовых инсталляторов функционально более или менее обеднены. В лучшем случае функциональность текстовой и графической версий идентична — чему примером служит современный Debian. Finstall же, напротив, предусматривает функции, недоступные через sysinstall (хотя пока и эвентуальные) — те же программный RAID, поддержку журналируемой UFS и ZFS. Так что остается только пожелать автору удачи в его труде по доведению инсталлятора до ума своего детища.

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

Заключение

Оба описанных выше инсталлятора объединяет одно: и BSD Installer в его ипостаси для FreeBSD, и finstall в современном своём виде для полноценной установки этой ОС не пригодны. Так зачем же о них столько говорилось?

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

"Так оставьте ненужные споры" о нужности или ненужности альтернативных, в том числе и графических, инсталляторов для FreeBSD: в конце концов, никто не собирается отменять не только sysinstall, но даже ручное развёртывание системы (такой способ установки FreeBSD тоже не возможен), или сборку её по мотивам FreeBSD from Scratch. А возможность лишнего варианта выбора в мире Open Source еще никогда и никому не мешала.

назад | к началу