Обновление FreeBSD до версии 15
В декабре 2025 года вышла в релиз новая версии FreeBSD 15. На текущий момент у меня FreeBSD 14.3 и я не хочу затягивать с обновлением до последней версии. Обновление с FreeBSD 13.4 происходит аналогично. Приступаем к обновлению до версии FreeBSD 15.
Во время обновления может что-то пойти не так и будет потерян доступ к серверу через SSH. Например, если сервер использует не стандартное ядро, то после обновления будет GENERIC ядро. Имей это в виду, но если операционная система без модификаций то все должно пройти нормально.
1. Установка всех обновлений для текущей версии
Устанавливаем вначале все обновления безопасности для текущею версию FreeBSD
freebsd-update fetch installКогда будет выводится сообщение (END) нажимай Q на клавиатуре, чтобы пролистать список.

2. Запуск обновления до FreeBSD 15
До запуска процесса обновления можно сменить текстовый редактор vi по умолчанию на другой. Например, сменяем на ee.
setenv EDITOR eeВо время обновления если понадобится ручное редактирование файла, будет вызыватся текстовый редактор ee.
freebsd-update upgrade -r 15.0-RELEASEУстановщик спросит разумно что будут установлены компоненты kernel/generic src/src world/base, а компоненты debug и lib32 не будет установлены, отвечаем yes

Обновление будет долгим, дожидаемся окончания процесса.
Во время обновления автоматически могут не обновится конфигурационные файлы и их необходимо будет обновить вручную. Но такое маловероятно произойдет при обновлении внутри одной ветки и с файлами конфигурации по стандарту.
Если обновление происходит с FreeBSD 13, то прочитай раздел статьи про обновления до FreeBSD 14: https://notby.net/obnovlenie-freebsd-13-2-do-freebsd-14#3
Установщик показывает какие изменения будут внесены в файле /etc/ssh/sshd_config (замена строки #VersionAddendum которая содержит версию FreeBSD) и если все корректно отвечаем yes.
Еще было показано изменение в файле /etc/crontab (переименование названия root's crontab в system crontab), отвечаем аналогично yes.

Так же могут быть показаны и другие файлы.
После этого будет выведено сообщение To install the downloaded upgrades, run 'freebsd-update [options] install'. (Чтобы установить загруженные обновления, выполните команду 'freebsd-update [options] install'.).
3. Установка обновления FreeBSD 15
freebsd-update installПроцесс установки обновлений запущен, далее программа обновлений сообщит Please reboot and run 'freebsd-update [options] install' again to finish installing updates. (Пожалуйста, перезагрузитесь и запустите команду 'freebsd-update [options] install' снова, чтобы завершить установку обновлений.).
![Обновление до версии FreeBSD 15. Выполнена команда “freebsd-update install”. Выведено сообщение: Please reboot and run 'freebsd-update [options] install' again to finish installing updates.](https://notby.net/images/12/upgrade-to-freebsd-15-freebsd-update-install-please-reboot.webp)
Перезагружаем сервер
shutdown -r nowДожидаемся загрузки и запускаем команду
freebsd-update installВ ходе выполнения установки обновлений, программа сообщит что теперь необходимо обновить и переустановить все установленные приложения в системе.
![Обновление до версии FreeBSD 15. Выведено сообщение: Please rebuild all installed 3rd party software (e.g., programs installed from the ports tree) and then run 'freebsd-update [options] install' again to finish installing updates. Оно означает что необходимо перестановить все программы в системе.](https://notby.net/images/12/upgrade-to-freebsd-15-freebsd-update-install-please-rebuild-all-installed-software.webp)
Статьи на тему как обновлять порты или пакеты.
Обновляем приложения через пакеты, параметр -f указывает что необходимо переустановить все приложения в системе
pkg upgrade -fИли обновляем через порты
portmaster -afДожидаемся окончание обновления всех приложений в системе и запускаем команду для завершения установки обновления FreeBSD 15
freebsd-update install
У меня автоматически установщик не смогу удалить каталог /usr/lib/debug и его подкаталоги, удаляем вручную командой
rm -r /usr/lib/debug/Перезагружаемся
shutdown -r nowОбновление до версии FreeBSD 15 успешно произведено.
uname -vFreeBSD 15.0-RELEASE releng/15.0-n280995-7aedc8de6446 GENERICПроверяем что все программы и сервисы работают корректно, ошибок после установки обновлений не появилось.
4. Очистка каталога обновлений
Рабочий каталог находится по пути /var/db/freebsd-update/, в нем хранятся рабочие файлы всех обновлений для возможности откатится на старую версию и так далее. Этот каталог не очищается и хранит все данные обновления с момента первого обновления, из-за этого он может занимать значительный объем.
Перейдем в каталог обновлений
cd /var/db/freebsd-update/Посмотрим объем занимаемых файлов и каталог
du -h -d 1Каталог /var/db/freebsd-update/ необязательно очищать после каждого обновления системы.
Очищаем содержимое каталога обновлений FreeBSD
rm -r /var/db/freebsd-update/*Процесс может быть немного долгий, если каталог занимает большой объем. Дожидаемся очистки каталога.