Это закономерный вопрос. У нас имеется утилита sysinstall и хорошо изученный способ компиляции ядра и пользовательских приложений.
Проблема с утилитой sysinstall заключается в том, что она несколько ограничена в том, что, куда и как может устанавливать.
Обычно она используется для установки уже откомпилированных
дистрибутивных наборов и пакаджей с некоторого носителя (CD, DVD,
FTP). Она не может устанавливать результат выполнения
make buildworld
.
Она не может устанавливать вторую систему в некоторый каталог уже работающей системы.
Она не может выполнять установку в разделы Vinum или ZFS.
Она не может строить порты, а лишь устанавливать уже откомпилированные пакаджи.
Создание скриптов или выполнение нестандартных действий после установки затруднено.
И последним, но одним из самых важных факторов, является полуофициальное прекращение дальнейшей поддержки sysinstall.
Хорошо известный способ полного построения и установки системы, описанный в Руководстве, по умолчанию замещает существующую систему. При этом сохраняются только модули и ядро. Системные бинарные файлы, файлы объявлений функций и множество других файлов перезаписываются; уже ненужные файлы остаются и могут преподносить сюрпризы. Если по какой-либо причине обновление завершилось неудачно, бывает трудно и даже невозможно вернуть систему в исходное состояние.
FreeBSD From Scratch решает все эти проблемы. Её стратегия проста:
использование работающей системы для установки новой в пустое дерево
каталогов, при этом новые разделы монтируются в соответствующие места
этого дерева. Многие конфигурационные файлы могут быть скопированы в
соответствующее место, а mergemaster(8) сможет позаботиться о тех,
что скопировать не удалось. Тонкая настройка новой системы может быть
выполнена в старой, вплоть до момента, когда вы сможете выполнить chroot
в новую систему. Другими словами, мы проходим через три этапа, при этом
каждый шаг представляет собой либо запуск скрипта, либо вызов команды
make
:
stage_1.sh
:
Создание новой загружаемой системы в пустом каталоге и объединение
либо копирование максимально большего количества необходимых файлов.
Затем загрузка новой системы.
stage_2.sh
:
Установка требуемых портов.
stage_3.mk
:
Выполнение последующей настройки программного обеспечения,
установленного на предыдущем этапе.
После того, как вы воспользуетесь FreeBSD From Scratch для построения второй системы и в течение нескольких недель убедитесь, что она работает удовлетворительно, можете затем использовать её повторно для переустановки исходной системы. С этого момента, как только вы почувствуете необходимость обновления, то просто выберите разделы, которые хотите удалить и выполнить переустановку.
Может быть, вы слышали и даже пробовали использовать систему Linux From Scratch, или
LFS для краткости. LFS также определяет, как построить и установить
систему с нуля на пустой раздел при помощи работающей системы. LFS
делает упор на выяснение роли каждого компонента системы (таких, как
ядро, компилятор, устройства, командный процессор, база данных
терминальных устройств и так далее) и деталей установки каждого
компонента. FreeBSD From Scratch не опускается до такого уровня детализации.
Моей целью является проведение автоматизированной и полной установки, а
не описание всех кровавых подробностей полного перепостроения системы.
В случае, если вы хотите изучить FreeBSD до такого уровня, начните с
просмотра /usr/src/Makefile
и следуйте действиям,
которые выполняет make buildworld
.
В подходе, который применяется в FreeBSD From Scratch, имеются свои отрицательные стороны, которые вы должны иметь в виду.
При компиляции портов на втором этапе систему нельзя использовать
в обычном режиме. Если вы имеете дело с сервером, работающим в
режиме промышленной эксплуатации, вы должны быть готовы к простою,
к которому приводит выполнение второго этапа. Порты, построенные
при помощи stage_2.conf.default
ниже, потребуют
для сборки около 8 часов на современной системе (4 из которых займет
компиляция OpenOffice.org). Если вы
предпочитаете устанавливать пакеты, а не порты, то вы можете
существенно сократить время простоя, примерно до 10 минут.
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.