Главная | Контакты | Настройки СМЕНИТЬ ПАЛИТРУ:

Главная > Операционные системы > UNIX > BSD > FreeBSD

Обновление FreeBSD 13.2 до FreeBSD 14

Теперь приступаем к апгрейду системы. Через ключm -r указываем желаемую версию системы.

# freebsd-update upgrade -r 13.1-RELEASE
Looking up update.FreeBSD.org mirrors... 2 mirrors found.

На текущий момент у меня FreeBSD 13.2 и я не хочу затягивать с обновлением до последней версии. Не так давно вышла в релиз новая версии FreeBSD 14. В нее добавили новые возможности, обновили базовые приложения и сервисы. Приступаем к обновлению до версии FreeBSD 14.

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

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

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

# freebsd-update fetch install

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

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

2. Запуск обновления до FreeBSD 14

До запуска процесса обновления можно сменить текстовый редактор vi по умолчанию на другой. Например, сменяем на ee.

# setenv EDITOR ee

Во время обновления если понадобится ручное редактирование файла, будет вызыватся текстовый редактор ee.

# freebsd-update upgrade -r 14.0-RELEASE

Установщик спросит разумно что будут установлены компоненты kernel/generic src/src world/base, а компоненты debug и lib32 не будет установлены, отвечаем yes

Обновление до версии FreeBSD 14 используя команду "freebsd-update upgrade -r 14.0-RELEASE". На вопрос Does this look reasonable? ответ yes.

Обновление будет долгим, дожидаемся окончания процесса.

3. Ручное редактирование файлов

Во время обновления автоматически могут не обновится конфигурационные файлы и их необходимо будет обновить вручную. Файл /etc/master.passwd обновится не смог, так как в версии FreeBSD 14 перешли на оболочку sh по умолчания для root. Я не совсем понял заменя переходить на оболочку sh, если csh удобнее для использования.

Файл /etc/master.passwd автоматически обновится не смог. Выведено сообщение "Press Enter to edit this file in vi and resolve the conflicts manually..."

Нажимаем Enter для редактирования файла /etc/master.passwd в тестовом редакторе vi (по умолчанию) вручную.

Файл /etc/master.passwd редактируй очень внимательно, а то пароль от root пользователя может пропасть или сломатся.

Обновление до FreeBSD 14. Редактор vi, изменения в файле /etc/master.passwd (Красным подсвечено, что необходимо удалить).

Изменяем для root оболочку /bin/csh на /bin/sh, путем удаления символа c. Для удаления символа наводим курсор на символ и нажимаем X.

Если необходимо ввести текст, нажимаем клавишу I и редактор перейдет в режим набора текста.

Нажимаем Esc чтобы редактор вернутся в командный режим.

В командном режиме выбираем лишние строку и удаляем их командой dd, для этого нажимаем два раза на D

Файл должен иметь подобный вид после редактирования

Обновление до FreeBSD 14. Редактор vi, Файле /etc/master.passwd отредактирован. Оболочно для root замена на sh.

Файл отредактирован, сохраняем изменения и выходим из редактора vi командой ZZ, для этого зажимаем Shift и нажимаем два раза Z

Далее будут предложены следующий файлы которые не смогли автоматически обновится, обновляем их аналогично по примеру выше.

Если файл /etc/ssh/sshd_config не смог обновится автоматически, с ним тоже нужно быть внимательным. Так как это файл SSH-сервера.

После всех ручных изменений установщик будет показывать как изменится файл и задаст вопрос разумно ли были сделаны изменения в файле, проверяем что все корректно и отвечаем yes.

Обновление до версии FreeBSD 14. Показаны какие изменения будут в файле /etc/master.passwd и задается вопрос "разумны такие изменения?"

После этого будет выведено сообщение To install the downloaded upgrades, run "/usr/sbin/freebsd-update install". (Чтобы установить загруженные обновления, выполните команду "/usr/sbin/freebsd-update install".).

4. Установка обновления FreeBSD 14

# freebsd-update install

Процесс установки обновлений запущен, далее программа обновлений сообщит Please reboot and run "/usr/sbin/freebsd-update install" again to finish installing updates. (Пожалуйста, перезагрузитесь и запустите команду "/usr/sbin/freebsd-update install" снова, чтобы завершить установку обновлений.).

Обновление до версии FreeBSD 14. Написана команда "freebsd-update install". Выведено сообщение "Please reboot and run "/usr/sbin/freebsd-update install" again to finish installing updates.".

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

# shutdown -r now

Дожидаемся загрузки и запускаем команду

# freebsd-update install

В ходе выполнения установки обновлений, программа сообщит что теперь необходимо обновить и переустановить все установленные приложения в системе.

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

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

# pkg upgrade -f

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

# portmaster -af

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

# freebsd-update install
Обновление до версии FreeBSD 14 успешно завершено.

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

# shutdown -r now

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

# uname -v
FreeBSD 14.0-RELEASE-p3 #0: Mon Dec 11 04:56:01 UTC 2023

Проверяем что все программы и сервисы работают корректно, ошибок после установки обновлений не появилось.

5. Очистка каталога обновлений

Рабочий каталог находится по пути /var/db/freebsd-update/, в нем хранятся рабочие файлы всех обновлений для возможности откатится на старую версию и так далее. Этот каталог не очищается и хранит все данные обновления с момента первого обновления, из-за этого он может занимать значительный объем.

Перейдем в каталог обновлений

# cd /var/db/freebsd-update/

Посмотрим объем занимаемых файлов и каталог

# du -h -d 1

У меня этот каталог c момента установки FreeBSD 9 и с промежуточными обновлениями до FreeBSD 14 разбух до 9 Гб.

Каталог /var/db/freebsd-update/ необязательно очищать после каждого обновления системы.

Очищаем содержимое каталога обновлений FreeBSD

# rm -r /var/db/freebsd-update/*

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

Материал взят с сайта: https://notby.net/obnovlenie-freebsd-13-2-do-freebsd-14

Главная > Операционные системы > UNIX > BSD > FreeBSD