notby.NET Logo

Обновление FreeBSD до версии 15

 В декабре 2025 года вышла в релиз новая версии FreeBSD 15. На текущий момент у меня FreeBSD 14.3 и я не хочу затягивать с обновлением до последней версии. Обновление с FreeBSD 13.4 происходит аналогично. Приступаем к обновлению до версии FreeBSD 15.

Во время обновления может что-то пойти не так и будет потерян доступ к серверу через SSH. Например, если сервер использует не стандартное ядро, то после обновления будет GENERIC ядро. Имей это в виду, но если операционная система без модификаций то все должно пройти нормально.

1. Установка всех обновлений для текущей версии

Устанавливаем вначале все обновления безопасности для текущею версию FreeBSD

freebsd-update fetch install

Когда будет выводится сообщение (END) нажимай Q на клавиатуре, чтобы пролистать список.

FreeBSD 14.3 обновлена до последней версии используя команду "freebsd-update fetch install".

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 15 используя команду "freebsd-update upgrade -r 15.0-RELEASE". На вопрос Does this look reasonable? ответ 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.

Обновление до версии FreeBSD 15. Показаны какие изменения будут в файле /etc/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.

Перезагружаем сервер

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. Оно означает что необходимо перестановить все программы в системе.

Статьи на тему как обновлять порты или пакеты.

Обновляем приложения через пакеты, параметр -f указывает что необходимо переустановить все приложения в системе

pkg upgrade -f

Или обновляем через порты

portmaster -af

Дожидаемся окончание обновления всех приложений в системе и запускаем команду для завершения установки обновления FreeBSD 15

freebsd-update install
Обновление до версии FreeBSD 15 успешно завершено, но установщик вывел сообщения, что не смогу удалить каталоги /usr/lib/debug/boot и /usr/lib/debug

У меня автоматически установщик не смогу удалить каталог /usr/lib/debug и его подкаталоги, удаляем вручную командой 

rm -r /usr/lib/debug/

Перезагружаемся

shutdown -r now

Обновление до версии FreeBSD 15 успешно произведено.

uname -v
FreeBSD 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/*

Процесс может быть немного долгий, если каталог занимает большой объем. Дожидаемся очистки каталога.