DragonFly: Установка и первичная настройка

Алексей Федорчук
Линуксцентр
актуализированная версия

2005-07-26

назад | к началу | вперед

BSD Installer: установка

Как уже говорилось в предыдущей заметке, BSD Installer - программа, созданная в рамках самостоятельного проекта, и предназначенная для установки любых BSD-систем. Однако пока она оказалась востребованной именно для установки DragonFly (и еще - в LiveCD системе, FreeSBIE, где позволяет превратить ее в полноценную FreeBSD 5-й ветки). Однако именно в DragonFly эта программа показывает себя во всей красе.

В дистрибутиве DragonFly применяется BSD Installer с псевдографическим фронт-эндом, основанным на библиотеке ncurces. Он несколько напоминает по стилю традиционную sysinstall из FreeBSD, но производит впечатление более логичного и понятного, хотя и уступает (пока?) тому в функциональности. Тем не менее, как и sysinstall, BSD Installer - позволяет не только инсталлировать базовую систему, но и выполнить основные ее настройки, Причем не только во время первичной установки, но и, с некоторыми оговорками, и впоследствии.

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

Для начала, сразу после регистрации с аккаунтом installer, установщик предлагает следующие варианты выбора (рис. 1):

  1. установка;
  2. конфигурирование ранее установленной системы;
  3. утилиты LiveCD;
  4. выход в среду LiveCD;
  5. перезагрузка.


Рис. 1. Начальное меню BSD Installer

На первом этапе установки интерес представляют пункты 1 и 3. В частности, посредством 3-го пункта можно было бы теоретически выполнить разбиение диска, однако в настоящее время здесь допускается только создание первичного раздела (BSD-слайса) на весь диск целиком. Как обойти эту сложность - я скажу чуть позже.

А пока обратимся к первому пункту - установке системы, следующим шагом подтвердим свой выбор - и попадаем в меню выбора диска (рис. 2).


Рис. 2. Меню выбора диска

Поскольку мы предположили, что таковой имеется в единственном экземпляре, выбирать особенно не из чего. А вот дальше предлагается создать на диске раздел под DragonFly, и здесь выбор уже есть: использовать под установку DragonFly диск целиком (entire disk) или его часть рис. 3). Так как мы не собираемся отказываться от ранее установленной системы, первый вариант нас, скорее всего, не устраивает - хотя при нем все происходит очень просто (почему я говорил о желательности отдельного диска для DragonFlyBSD. Да и второй тоже походит не во всех случаях: штатными средствами можно создать слайс только на все оставшееся неразбитым пространство.


Рис. 3. Выбор типа разбиения диска

Если, однако, мы готовы отдать все остатки диска на растерзание DragonFly, все просто: соглашаемся со вторым вариантом, и, после подтверждения уверенности в своей правоте (рис. 4), получаем BSD-слайс соответствующего размера.


Рис. 4. Запрос на подтверждение правильности выбора раздела

Перед положительным ответом на вопрос с рис. 4 неплохо еще раз подумать: все содержимое раздела, если оно имелось, будет потеряно (произойдет не просто изменение типа раздела, но и "обнуление" его начального сектора командой

$ dd if=/dev/zero of=/dev/ad#s?

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

Если же часть неразбитого пространства требуется сохранить таковым для последующего использования в каких-либо целях (и если имеется резерв записей под первичные разделы), придется действовать иначе. Благо, оказывается, что установочный LiveCD нашей системы сохраняет свои "живительные" свойства и после запуска инсталлятора. Предоставляя в расположение пользователя шесть свободных виртуальных консолей из восьми возможных (на второй запущен установщик, на первую выводятся его сообщения). И можно, перейдя в любую из них, авторизоваться там как root (по прежнему без пароля), создать нужный раздел вручную - с помощью программы fdisk. Правда, в BSD-системах этот инструмент не являет собой верх удобства, требуя (даже в интерактивном режиме) явного задания начала и конца раздела в физических (по 512 байт) блоках. И, соответственно, некоторых вычислений.

Правда - вот что LiveCD животворящий творит - и вычислитель оказывается под рукой, в лице простой в использовании утилиты bc. А поскольку лимит консолей далек от исчерпания - никто не мешает запустить его параллельно и выполнить необходимые расчеты. После чего командой

$ fdisk -i /dev/ad0

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

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

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

Первым из них будет запрос на ввод, второй- это ручное создание слайсов (при существующей уже разметке сначала будет вопрошаемо, а хотим ли мы этого - с отрицательным ответом по умолчанию). Для этого сначала запрашивается идентификатор типа файловой системы (по умолчанию стоит ID существующего раздела или 0 - для неразмеченного пространства). Тут следует руками указать его десятичное значение (165 - идентификатор FreeBSD/DragonFly). Затем запрашивается стартовый сектор - очевидно, первый сектор этого раздела, - и размер размер раздела в блоках по 512 байт - его следует вычислить посредством bc.

После этого будет предложено точно специфицировать начало и конец слайса. Если отказаться - они будут взяты из предыдущих определений, если согласиться - нужно будет указать первые и последние цилиндр, головку, сектор. Каковые и будут выведены в виде

sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 0, size 260000 (126 Meg), flag 0
    beg: cyl 0/ head 0/ sector 1;
    end: cyl 126/ head 60/ sector 32

Подтвердив свои действия положительным ответом на вопрос

Are we happy with this entry? [n] y

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

Do you want to change the active partition? [n]

При положительном ответе на него все сделанные изменения вступят в силу (и на ранее размеченном диске при ошибке можно будет распроститься с его содержимым). Так что следует предварительно просмотреть все ранее введенное - благо, это легко сделать пролистыванием буфера истории виртуальной консоли, перейдя в режим его просмотра, нажав клавишу ScrollLock (а сам просмотр выполняется как клавишами PageUp/PageDown - поэкранно, так и стрелками Up и Down - построчно). И при обнаружении ошибки отказаться от изменений и запустить команду fdisk по новой. Впрочем, из нее можно в любой момент выйти без последствий и стандартным образом - комбинацией клавиш Control>+C.

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

Порядок создания дисковых разделов средствами fdisk подробно описан на ее man-странице - благо она во время инсталляции доступна с LiveCD. А вообще-то, как я уже говорил, если поступиться принципами, проще всего создать слайс (и тем более слайсы) для DragonFly заблаговременно - средствами любого наличного LiveCD с Linux. А при наличии установленной FreeBSD это легко сделать средствами ее sysinstall.

По завершении ручной разметки слайса (или слайсов) нужно сделать его доступным для BSD Installer'а. Для чего придется вернуться в его начальное меню, выбрать в нем пункт Exit to LiveCD (см. рис. 1) и авторизоваться как installer заново.

Тем или иным способом создав первичный раздел, выбираем его в соответствующем меню для разбиения на подразделы (subpartitions). Вариант, предлагаемый по умолчанию, таков (рис. 5):

/ - 256 Мбайт
swap - 1024 Мбайт
/var - 256 Мбайт
/tmp - 256 Мбайт
/usr - 8192 Мбайт
/home - *, то есть все остальное


Рис. 5. Создание дисковых подразделов, нормальный режим

Эта схема вполне разумна, и для пользователя, ранее с BSD системами дела не имевшего, может быть принята. Если он, тем более, собирается пользовать DragonFly сугубо для экспериментальных целей. Разве что при недостатке места уменьшить раздел под /usr (вплоть до минимума в 4096 Мбайт - почему я и говорил ранее, что инсталляция DragonFly требует около 6 Гбайт дискового пространства) и swap (при памяти от 512 Мбайт он практически не задействуется).

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

Пока же только замечу, что кроме нормального режима разметки подразделов, проиллюстрированного на рис. 5, существует еще и т.н. "режим эксперта" (рис. 6). В котором, помимо указания размера разделов, для отдельных из них можно еще и включить или выключить режим Softupdates, а также определить индивидуально размер блока и фрагмента файловой системы. Процедура создания последней (то есть исполнение команды newfs или, в терминах DOS/Windows, форматирование) совмещена в меню BSD Installer с разметкой разделов и осуществляется в один прием с ней - по выбору Accept and Create, вызывающим последнее предупреждение, с которым "пользователь соглашается и форматирование совершается".


Рис. 6. Создание дисковых подразделов, режим эксперта

По окончании создания файловой системы (а для больших разделов он может затянуться) задается вопрос - приступить ли к переносу файлов базовой системы. В отличие от большинства дистрибутивов Linux (а также FreeBSD и прочих BSD-систем), при этом не происходит никакой распаковки архивов или развертывания пакетов. Просто файловая система LiveCD (находящаяся в этот момент, напомню, в оперативной памяти) со всем ее содержимым - каталогами, подкаталогами и отдельными файлами) копируется на соответствующие разделы ранее созданного слайса, подмонтированные в виртуальный каталог /mnt: корень - в корень, /usr - в /usr, и так далее. Правда, не обычной командой cp, а специально для того предназначенной утилитой cpdup, обеспечивающей полную идентичность файловой структуры источника и приемника (включая воспроизведение жестких и символических ссылок, файлов устройств, атрибутов доступа и принадлежности). Это важно помнить при аварийно-спасательных работах, о чем будет подробнее говориться в следующей статье.

Так вот, при согласии пользователя (а куда ему деваться - иначе никакой установки и не будет) начинается такой процесс переноса файлов. Причем, в отличие от sysinstall из FreeBSD, никакого выбора пакетов базового комплекта перед этим не предлагается. И это, конечно, минус - в результате пользователь оказывается "счастливым" обладателем, например, системы безопасности Kerberos или info-документации, возможно, на фиг ему не нужных. Да и скорости переноса файлов (должен сказать, не быстрой) это никак не способствует. Но уж что выросло - то выросло... А от ненужных частей базовой системы (как тот же Kerberos) можно будет избавиться в дальнейшем - об этом речь пойдет в следующей статье.

Под занавес начальной установки - предложение установить загрузчик, точно такой же loader, что и во FreeBSD. И установить его можно опять же в загрузочный сектор диска или слайса. В первом варианте - прописывание BSD'шного loader'а в MBR диска - он позволяет осуществить мультисистемную загрузку с любого первичного раздела (на котором собственные средства загрузки имеются, конечно). Второй же вариант потребует обеспечения загрузки DragonFly средствами Lilo или GRUB, что сделать не сложнее, чем для FreeBSD, но к теме нашего сегодняшнего разговора отношения не имеет. Тем более, что BSD Loader, не смотря на свою внешнюю простоту и непрезентабельность, успешно справляется с загрузкой своей родной операционки (еще бы!), а также Windows, Linux и любой другой BSD. При условии, что их собственные загрузчики лежат в загрузочных секторах первичных дисковых разделов - но и об этом разговор еще впереди.

Собственно установка окончена - предлагается либо перейти к конфигурированию системы, либо перезагрузиться (можно и вернуться на первую страницу инсталлятора). Нас, конечно, будет интересовать вопрос начального конфигурирования. Но сначала - обещанная

назад | к началу | вперед