В качестве объекта для изучения я избрал однодисковый вариант FreeBSD стабильной версии - 4.2 (текущая - 4.4). Очень полным он не оказался, как будет сказано позднее, но вполне пригодным к употреблению - да.
Диск - загрузочный, необходимости в инсталляционных дискетах нет. Хотя образы их имеются, и сделать их не вредно. Но можно и просто перезапустить машину с CD.
Первое, что происходит после загрузки - предложение сконфигурировать ядро. Шаг, впрочем, отнюдь не обязательный - установки эти имею место быть только в процессе инсталляции. Более того, в источниках рекомендуется отказаться от конфигурирования, если имеются какие-нибудь проблемы с оборудованием.
Тем не менее, просмотреть возможности настройки полезно, хотя бы в плане знакомства со списком поддерживаемого (программой инсталляции, а не системой в целом) оборудования. Список достаточно куций, я не нашел в нем многих распространенных современных SCSI-адаптеров, например.
По завершении (или пропуске) конфигурирования запускается собственно программа инсталляции - sysinstall. Каковая в дальнейшем может послужить и для конфигурирования системы, и для ее восстановления после сбоев, и для upgrade. Или - просто для доустановки компонентов, что можно видеть из ее меню.
Пока, однако, нас интересуют только три пункта этого меню - стандартная, быстрая и заказная установки. Наибольший интерес представляет, конечно, последняя.
Она начинается, как обычно, с разбиения диска. Поскольку и процедура эта, и применяемая во FreeBSD терминология довольно своеобразна, имеет смысл остановиться на ней подробнее.
Разбиение диска происходит в два этапа и осуществляется двумя программами - fdisk и disklabel. Первой создаются физические разделы, именуемые в терминологии slices (то есть "отрезками"). Предполагается, что каждому слайсу соответствует своя файловая система - ufs, fatXX, ext2fs и т.д. Соответственно, есть опция Entire disk, если не используются какие-либо ОС помимо FreeBSD.
Впрочем, даже при ее выборе следует вопрос, предполагается ли использование иных ОС в будущем. При положительном (по умолчанию) ответе в начальных секторах диска резервируется место для некоего грядущего менеджера загрузки. Отрицательный ответ ведет к переходу в т.н. dangerously-режим, при котором никакого стороннего загрузчика установить уже не удастся. Что, впрочем, не помешает грузить иную ОС в другого винчестера, буде она (и BIOS) на такое способны. Так что выбор его никаких особо ужасающих последствий не влечет.
Комментарий к fdisk гласит, что во FreeBSD нет необходимости создавать слайсы под отдельные фрагменты файловой структуры, такие, как /usr, /home и т.д., что обычно практикуется в Linux. Однако никто и не запрещает, как будто, разместить /home в отдельном физическом разделе: это резонно и с позиций техники безопасности, и для настройки файловых систем в дальнейшем (для включения режим soft updates, о чем пойдет речь в одной из следующих заметок).
После создания слайсов (в случае IDE-диска они маркируются так: ad0s1, ad0s2, ad1s1 и т.д., или - wd0s1 etc.) предлагается создать внутри них разделы. Это можно сделать автоматически. В этом случае создаются:
Part Mount Size Newfs ad0s1a / 50MB * ad0s1b none 2*RAM SWAP ad0s1e /var 20MB *
а все остальное пространство монтируется /usr. Вряд ли это целесообразно. Правда, с первыми тремя предложениями можно согласиться. Небольшой корневой раздел будет полезен в дальнейшем, при настройке файловых систем (особенно если не был создан специальный слайс для /home). Раздел подкачки, равный удвоенному объему оперативной памяти также не повредит: FreeBSD работает с ним иначе, чем Linux, обращаясь к своппингу не при переполнении памяти, а при первой же возможности выгружает из нее мало используемые фрагменты. Не лишним будет и раздел /var: в нем размещается, в частности, база данных установленных пакетов.
А вот оставшееся пространство я раздели бы минимум на два раздела: /usr и /home. При современных объемах дисков можно не скупиться. Хотя под /usr заведомо должно хватить 2-3 Гбайт (вспомним, что полный вариант дистрибутива занимает 4 CD). Ну а сколько могут занять пользовательские данные - каждый должен определить по потребностям и возможностям.
Кроме того, возможно, полезным будет выделение внутри /usr отдельного раздела для /usr/local, где по умолчанию будут размещаться как дополнительные портированные пакеты (packages), так и программы, собранные из непортированных исходников.
По завершении разбиения дисков (вернее, обозначения своих намерений - пока никаких необратимых действий с существующими разделами еще не произошло) происходит переход к выбору основных компонентов для установки.
Здесь возможны варианты: для разработчиков и пользователей с различными задачами, полная или минимальная установка, а также индивидуальный выбор компонентов (custom). Последний вариант, разумеется, предпочтительней. Однако начинать его лучше не с нуля, а предварительно обозначив один из стандартных вариантов (X-Developer или X-User, например). В этом случае по умолчанию будет отмечен некий базовый набор групп компонентов, который можно корректировать в любую сторону по потребностям.
По завершении выбора задается вопрос, устанавливать ли коллекцию портов. Отказываться от этого не следует в любом случае (за исключением острого дефицита дискового пространства). конечно, наиболее эффективно использование системы портов при наличии постоянного подключения к Сети. Но и при его отсутствии она будет весьма полезной.
Далее, определяется источник для установки. Каковым может быть инсталляционный CD, существующий раздел диска, локальная или глобальная сеть и т.д. А затем - Commit, последнее подтверждение сделанного выбора. Если таковое дано - путь наза будет отрезан. Происходит создание разделов и их форматирование (то есть создание файловых систем), а также, без перерыва, запись выбранных компонентов.
Процесс этот, фиксируемый сообщениями на экране, - достаточно длинный, в зависимости от мощности машины и набора компонентов может занять минут 20-30. И завершается выходом в главное меню программы sysinstall.
На этом инсталляцию как таковую можно считать законченной. Следующий этап - пост-инсталляционное конфигурирование. Процесс этот заслуживает отдельной заметки.