Если интересно, добро пожаловать под кат)
Ставим библиотеку совместимости с библиотеками 7.x
cd /usr/ports/misc/compat7x
make install clean
Ставим portupgrade. Как правило на старые сервера из портов не собирается по зависимостям, так что ставим пакетом из ветки для 8 фряхи:
pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/portupgrade.tbz
Хитрим)
ln -s /lib/libcrypt.so.4 /lib/libcrypt.so.5
Тут надо обновить ВСЕ порты до последних версий, потом будет проще
portupgrade -a
Загружаем обновления 8.3
freebsd-update upgrade -r 8.3-RELEASE
# Комментируем задачи в кроне и доп.фичи в rc.conf
Скачиваем исходники в папку /usr/mnt
cd /usr/
tar -zxvf src8.2.tar.gz /mnt/
Переходим в папку с исходниками
cd /usr/mnt/freebsd8.3/8.3-RELEASE/src/
Ставим окружение и ядро
./install.sh all
Применяем обновление ядра и системы
freebsd-update install
Ребутаем
reboot
Скрестив пальцы, ждем пока сервер загрузится, и если загрузился — применяем обновки
freebsd-update install
Снова ребут
reboot
Удаляем базу, ибо portupgrade считает, что она кривая
rm /var/db/pkg/pkgdb.db
Обновляем Ruby, ведь от него зависит portupgrade
portupgrade -f ruby\*
Снова удаляем базу
rm /var/db/pkg/pkgdb.db
rm /usr/ports/INDEX-8.db
Пересоздаем базу портов
portsdb -fu
Обновляем все порты (пересобираем)
portupgrade -fa
После пересборки всех пакетов до актуального состояния и финальный штрих)))
freebsd-update install
# Раскомментируем задачи в кроне и доп.фичи в rc.conf обратно
reboot
Вуаля!
Отличная статья!