Обновление FreeBSD 14 до FreeBSD 14.1
На текущий момент у меня FreeBSD 14 и я решил обновится до FreeBSD 14.1, которая является последней версией на текущий момент. Обновление внутри одной ветки FreeBSD происходит быстрее и проще, так как не нужно переустанавливать все приложения и сервисы. Приступаем к обновлению до версии FreeBSD 14.1
Если FreeBSD 13, то производи обновление как описано в статье: Обновление FreeBSD 13.2 до FreeBSD 14. Только необходимо внести измерения в команде, чтобы получилось freebsd-update upgrade -r 14.1-RELEASE
команда для запуска обновления.
1. Обновление установленных приложений
Так как обновление FreeBSD происходит внутри одной ветки с FreeBSD 14 до FreeBSD 14.1, то можно обновить все сервисы, библиотеки и приложения заранее.
Обновляем приложения через пакеты
pkg upgrade
Или обновляем через порты
portmaster -a
Статьи с подробным описанием процесса обновления всех приложений через порты или пакеты в FreeBSD.
2. Запуск обновления до FreeBSD 14.1
До запуска процесса обновления можно сменить текстовый редактор по умолчанию (vi) на другой. Например, сменяем на ee.
setenv EDITOR ee
Во время обновления, если понадобится ручное редактирование файла, будет вызыватся текстовый редактор ee.
Во время обновления может что-то пойти не так и будет утерян доступ к серверу через SSH. Например, если сервер использует не стандартное ядро, то после обновления будет GENERIC ядро. Если FreeBSD без модификаций, то все должно пройти безошибочно.
Запускаем процесс обновления до версии FreeBSD 14.1
freebsd-update upgrade -r 14.1-RELEASE
Установщик спросит разумно что будут установлены компоненты kernel/generic world/base, а компоненты debug и lib32 не будет установлены, отвечаем yes
Дожидаемся окончания процесса загрузки обновления.
Во время обновления автоматически могут не обновится конфигурационные файлы и их необходимо будет обновить вручную. Но такое маловероятно произойдет при обновлении внутри одной ветки и с файлами конфигурации по стандарту.
Установщик показывает какие изменения в файле /etc/ssh/sshd_config будут внесены (замена строки #VersionAddendum которая содержит версию FreeBSD) и если все корректно отвечаем yes.
Далее будет показан список файлов которые будут добавлены, изменены и удалены во время обновления. Для того чтобы их пролистать нажимаем Q на клавиатуре, и после списка будет выведено сообщение To install the downloaded upgrades, run "/usr/sbin/freebsd-update install". (Чтобы установить загруженные обновления, выполните команду "/usr/sbin/freebsd-update install".).
3. Установка обновления FreeBSD 14.1
Устанавливаем обновление FreeBSD 14.1
freebsd-update install
Процесс установки обновлений запущен, далее программа обновлений сообщит Please reboot and run "/usr/sbin/freebsd-update install" again to finish installing updates. (Пожалуйста, перезагрузитесь и запустите команду "/usr/sbin/freebsd-update install" снова, чтобы завершить установку обновлений.).
Перезагружаем сервер
shutdown -r now
Дожидаемся загрузки и запускаем команду
freebsd-update install
У меня во время установки обновления было выведено сообщение rmdir: ///var/db/portsnap: Directory not empty. Portsnap устаревшая система обновления коллекции портов FreeBSD которая была удалена в 14 версии. Установщик не смог удалить каталог, удаляем каталог /var/db/portsnap/ вручную
rm -r /var/db/portsnap/
Обновление до версии FreeBSD 14.1 успешно произведено.
uname -v
FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC
Проверяем что все программы и сервисы работают корректно, ошибок после установки обновлений не появилось.
4. Установка исправлений безопасности
Сразу после обновления FreeBSD до новой версии нет смысла проверять новые исправления безопасности, так как во время процесса обновления системы были установлены все последнее исправления безопасности.
Спустя какое-то время периодически необходимо проверять и установлять исправления безопасности FreeBSD. Проверку наличия обновлений можно настроить по расписанию через crontab.
Запускаем установку исправлений безопасности FreeBSD 14.1
freebsd-update fetch install
Дожидаемся окончания процесса установки исправлений безопасности. Если во время обновления были затронуты файлы ядра FreeBSD, то необходимо будет перезагрузить сервер.