Почему хорошо иметь на сервере актуальную версию ОС мы обсуждать не будем, поэтому приступим к делу.
# uname -a
FreeBSD r-vpn1 12.0-RELEASE-p8 FreeBSD 12.0-RELEASE-p8 R-VPN12 amd64
Видим что у нас версия 12 с p8, так же нестандартное ядро R-VPN12 и 64-разрядная система
Поскольку после обновлений у нас система загрузится с ядром GENERIC крайне рекомендую на период обновлений внести в правила файрвола строку any to any
Запускаем freebsd-update, проверяем наличие обновлений и скачиваем
# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 12.0-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 58 patches.....10....20....30....40....50.... done.
Applying patches... done.
Fetching 8 files... done.
После окончания загрузки файлов — будет выведен список файлов и каталогов, которые будут обновлены
Устанавливаем обновления:
# freebsd-update install
Installing updates... done.
Перезагружаем сервер
# shutdown -r now
После перезагрузки запускаем повторно установку:
# freebsd-update install
Если система сообщает, что:
# freebsd-update install
No updates are available to install.
Значит обновление завершено.
Проверим текущую версию:
# uname -v
FreeBSD 12.0-RELEASE-p10 GENERIC
В случае, если что-то пошло не так — можно «откатить» установку обновлений:
# freebsd-update rollback
Uninstalling updates… done.
Далее собираете ваше ядро (раз оно у вас не стандартное, значит вы знаете как это делать)
Ну, и порты и обновление софта, куда же без них
# portsnap fetch update
Устанавливаем новый pkg
# pkg-static install -f pkg
И запускаем пересборку софта
# portupgrade -fa
Финальный запуск обновления
# freebsd-update install
Теперь можно почистить дерево портов (для освобождения свободного места да диске)
# portsclean -CDLP
Вот собственно и все.