Переход на FreeBSD 8. Очередная доза практикума :)

Некоторое время назад при обновлении с FreeBSD 7.2 получил порцию серьезных проблем и неработоспособный сервер. А всего лишь воспользовался по совету самих же разработчиков утилитой freebsd-update.. Этот способ хорош когда обновляемся в рамках одной ветки, но явно не вариант для перехода с одной ветки на другую!
Каким же образом осуществить переход? Используя «дедовский» или вернее unix-овый подход! Как это? Ничего сложного — часа 2 на процедуру и поездка до сервера 😉 (хотя если прочитать весь интернет — может и без поездки, обратите внимание, что каждая ветка по разному «называет» сетевые интерфейсы.. зачем не понятно, но так оно есть и это как аксиома..)

Собственно инструкция по переходу 🙂

  1. Используем cvsup для обновления файлов ядра и мира (src-all, RELENG_8_0_RELEASE) cvsup -g -L 2 /etc/cvsupsrc (не забудьте создать файл cvsupsrc)
  2. Обновляем дерево портов portsnap fetch update
  3. Перезагружаем сервер: shutdown -r now (после cvsup мы получим мало свободной памяти и много неактивной..)
  4. Далее переходим в каталог с исходными кодами ОС: cd /usr/src
  5. И поехали, сборка «мира» make buildworld
  6. Сборка «ядра» make buildkernel KERNCONF=GENERIC
  7. Установка «ядра» make installkernel KERNCONF=GENERIC
  8. Миграция конфигурационных файлов (если знаем что делаем — меняем, если нет — тупо отвечаем нажатием Enter) mergemaster -p
  9. Установка «мира» make installworld
  10. Удаление «хвостов» make delete-old
  11. Повторная «миграция» mergemaster -Fi
  12. Перезагрузка сервера reboot
  13. И удаление старых библиотек из системы make delete-old-libs
  14. Затем portsnap fetch update (обновляем дерево портов еще раз)
  15. Перезагружаем сервер shutdown -r now

По идеи все должно быть отлично! Проверить можно запустив uname с ключиком -a

И конечно же стоит упомянуть, что перед обновление крайне желательно сделать резервную копию всех разделов!

Большое спасибо за сбор необходимой информации участникам конференции opennet.ru (в частности уважаемому lavr)

UNIX