Решился я вчера на обновление FreeBSD с 6.3 на 7.1RC1. Цель, которую я преследовал - это использование интегрированных двух гигабитных сетевых карт на сервере, полноценный драйвер для которых есть только в седьмой ветке. Скачал src, установил, запустил make buildworld, make install world, make buildkernel. Паралельно миру кернел собираться отказался, сославшись на то, что версия config не подходит категорически. Хотя при обновлении в пределах одной версии ветки такая сборка прокатывала. А вот с installkernel начались проблемы. Дело в том, что сервер настраивался в 2002 году и на нем была установлена изначально версия FreeBSD 4.1. За это все время на сервере менялось все оборудование, но сложнонастроеная система заменялась практически без остановки сервера. Что самое забавное, в большинстве случаев даже без подключения к серверу монитора (системник стоит спрятаный без монитора и не занимает много места). Расчитывал на такую лафу я и в этот раз. Но, корневая партиция в 128 мегабайт у меня оказалась достаточной для 4.x ветки, но никак не для 7.x. Только ядро GENERIC со всеми модулями занимает свыше 100 мегабайт. Решил проблему только под утро, вырезав из GENERIC все что только можно было вырезать включая старые ядра и тулзы для восстановления системы. В общем пошел вабанк.

После установки новый системы и перезагрузки сервера я понял, что сервер не грузится, как это обычно бывает. Пришлось подключать монитор. Ругалось на невозможность подмонтировать корень системы. Стало ясно, что почему то не скомпилилась поддержка UFS файловой системы. Стал думать как вернуть к жизни сервер, и так чтоб по шустрому, ибо уже светало и злые пользователи уже чистили свои зубы, чтоб меня сожрать. Бросился искать отгрузочный диск, но нашел только диски старых веток, которые мало того что не давали мне нормальный шел, но и толку с них я бы не смог получить, ибо версия системы старая не даст перекомпилить ядро.

Ответ был однозначным. Настраиваю свою рабочую станцию на реальный IP адрес, звоню провайдеру чтоб перевязал MAC адрес, слил за полчаса несколько образов бзди седьмой ветки. После этого я установил новую систему по шустрому на отдельный винт, с которого загрузился в нормальное ядро GENERIC и скомпилил свое. Действительно была почему FFS то закоментирована (не вырезана, как все ненужное, а именно закоментирована), видать сонное состояние сказывалось. Позвонил провайдеру что опять перевязали и сервер пошел работать (в саппорте подумали что я издеваюсь... привяжи то, привяжи это). Из глюков заметил только перекошеный squid, который надо будет собрать потом, но в принципе интернет работает и без него.

В заключение могу сказать, что FreeBSD своеобразная консервативная система, расчитаная на долгосрочное использование, но возможности ее обновлений меня просто поражают. С виндой бы такая глупость не пришла никому в голову обновиться не выключая компьютер, не переустанавливая тонны софта с Windows 2000 до windows Vista.... причем удаленно. По сравнению с Linux Gentoo меня расстаривает только невозможнось (или мое незнание как) в портах задать функцию "обновить все".