Для обновления Freebsd с версии 10.0 до более свежей версии 10.1 мы воспользуемся утилитой freebsd-update.
На текущий момент у нас следующая система:
# uname -a FreeBSD 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Fri Jan 17 01:46:25 UTC 2014 root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC i386
Нам необходимо обновится до свежей версии FreeBSD 10.1
Выполняем команду:
# freebsd-update -r 10.1-RELEASE upgrade Looking up update.FreeBSD.org mirrors... 5 mirrors found. Fetching metadata signature for 10.0-RELEASE from update6.freebsd.org... done. Fetching metadata index... done. Fetching 1 metadata files... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/generic src/src world/base The following components of FreeBSD do not seem to be installed: world/doc world/games Does this look reasonable (y/n)?
На вопрос отвечаем утвердительно. Дальше идет сравнение версии freebsd 10.0 с 10.1, для этого скачивается вся информация по версиям. Это занимает значительное время, нужно подождать. После сравнения будет предложено одобрить изменения некоторых системных файлов. У меня это было пару файлов, изменения принял.
После окончания всех подготовительных действий нужно будет непосредственно установить обновления на диск:
# freebsd-update install
И после этого перезагрузиться:
# shutdown -r now
После перезагрузки нужно еще раз запустить freebsd-update:
# freebsd-update install Installing updates... Completing this upgrade requires removing old shared object files. Please rebuild all installed 3rd party software (e.g., programs installed from the ports tree) and then run "/usr/sbin/freebsd-update install" again to finish installing updates.
Установщик предлагает переустановить все стороннее программное обеспечение. Так как у нас незначительная смена версии, я ничего переустанавливать не стал, и так все запустилось и работает. А если, к примеру, выполнять по этой же схеме обновление с Freebsd 9 до Freebsd 10.1, то наверняка какой-то софт придется переставить, так как может возникнуть несовместимость.
После обновления системы обновим на всякий случай порты:
# portsnap fetch update
И еще раз проверим обновления системы:
# freebsd-update install Installing updates... done.
После этого проверяем результат:
# uname -a FreeBSD 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 22:51:51 UTC 2014 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC i386
Обновление прошло успешно. Мы благополучно обновили Freebsd 10.0 до 10.1