Если у вас нестандартное ядро – потребуется обновление из исходного кода:
Note: The freebsd-update only works with the GENERIC kernel. If any changes have been made to GENERIC or a custom kernel has been installed, freebsd-update will not complete -- failing in the former case and producing an error in the
latter.
На этой машине будет выполняться двоичное (бинарное) обновление с помощью freebsd-update.
Текущая версия системы:
# uname -a
FreeBSD ronin 8.2-RELEASE-p3 FreeBSD 8.2-RELEASE-p3
Приступим:
# freebsd-update upgrade -r 8.3-RELEASE
Ждать придется довольно долго – пока загрузятся все требуемые обновления.
После загрузки и проверки системы, установщик выдаст сообщение такого плана:
The following components of FreeBSD do not seem to be installed:
…
Does this look reasonable (y/n)?
Отвечаем “да” – y, жмем Enter и ждем продолжения загрузки.
В процессе система может сообщить следующее:
The following file could not be merged automatically: /etc/hosts
Press Enter to edit this file in vi and resolve the conflicts
manually…
Система не может сама обновить файл, и просит сделать это вручную. ОК, жмем Enter, в редакторе если надо – что-то меняем, сохраняем файл, идем дальше.
The following changes, which occurred between FreeBSD 8.2-RELEASE and
FreeBSD 8.3-RELEASE have been merged into /etc/group:
— current version
+++ new version
@@ -1,6 +1,6 @@
-# $FreeBSD: src/etc/group,v 1.35.10.1.6.1 2010/12/21 17:09:25 kensmith Exp $
+# $FreeBSD: src/etc/group,v 1.35.10.2.2.1 2012/03/03 06:15:13 kensmith Exp $
#
wheel:*:0:root,setevoy
…
www:*:80:
+hast:*:845:
nogroup:*:65533:
nobody:*:65534:
setevoy:*:1001:
…
Does this look reasonable (y/n)?
Тут система нам сообщает, что объединила файл /etc/group старой и новой версии, и выводит изменения, которые в него были внесены. Знаком + отмечена строка, которая была добавлена после слияния файлов: “+hast:*:845:“. Нажимаем y и снова Enter.
Таким же образом проверяем остальные файлы, которая выдает система.
В конце, нам сообщают что:
The following files will be added as part of updating to 8.3-RELEASE-p1:
и выдается список файлов, которые будут добавлены в обновлении версии. Жмем q, выходим из просмотра списка, и вводим:
# freebsd-update install
Installing updates….
Теперь, собственно, начался процесс обновления самой системы.
Ждем сообщения:
Kernel updates have been installed. Please reboot and run
“/usr/sbin/freebsd-update install” again to finish installing updates.
и отправляем систему в перезагрузку:
# shutdown -r now
Shutdown NOW!
shutdown: [pid 99865]
После перезагрузки запускаем обновление повторно:
# freebsd-update install
Installing updates… done.
Все, обновление успешно установлено. Проверим:
# uname -a
FreeBSD ronin 8.3-RELEASE FreeBSD 8.3-RELEASE
На всякий случай, можно ещё раз перезагрузить сервер и проверить поведение системы.
Для обновления:
# uname -isor FreeBSD 9.0-RELEASE-p3 GENERIC
до:
# uname -isor FreeBSD 9.2-RELEASE-p6 GENERIC
Процедура та же самая. Обновление прошло без проблем.