Как обновиться с FreeBSD 14.4 до FreeBSD 15: пошаговое руководство

Itnull

Команда форума
Администратор
Регистрация
22.05.13
Сообщения
28.387
Реакции
13.109
Веб-сайт
itnull.me
Обновление операционной системы — задача, требующая внимательности и строгого соблюдения последовательности действий. Переход с ветки FreeBSD 14.x на мажорную версию FreeBSD 15 (Major Upgrade) подразумевает не просто обновление ядра и базовой системы, но и полную пересборку или обновление всего установленного стороннего софта (портов/пакетов).

Ниже представлена подробная пошаговая инструкция, которая поможет вам обновиться безопасно и без простоев.

Подготовка к обновлению (Важно!)​

Перед тем как ввести первую команду, выполните обязательные подготовительные шаги. Мажорные обновления могут приводить к непредвиденным ситуациям.

  1. Создайте резервную копию (Бэкап): * Если система виртуализирована, сделайте снапшот (snapshot).
    • Если это физический сервер, сделайте дамп важных данных (/etc, /usr/local/etc, базы данных, пользовательские домашние директории).
  2. Проверить свободное место: Убедитесь, что в корневом разделе (или в /var/db/freebsd-update) достаточно свободного места (минимум 5-10 ГБ).
  3. Обновите текущую систему: Перед переходом на новую мажорную версию рекомендуется довести текущую 14.4 до актуального состояния:

Bash:
freebsd-update fetch
freebsd-update install
Перезагрузите сервер (если устанавливались обновления ядра).

Шаг 1. Скачивание файлов FreeBSD 15​

Для обновления базовой системы используется утилита freebsd-update. Нам нужно указать ей целевую версию (например, 15.0-RELEASE).

Запустите процесс скачивания метаданных и патчей:
Код:
freebsd-update -r 15.0-RELEASE upgrade

Что будет происходить на этом этапе:​

  • Утилита проанализирует вашу текущую систему.
  • Начнется скачивание компонентов FreeBSD 15. Это может занять некоторое время в зависимости от скорости вашего интернета.
  • Слияние конфигурационных файлов (Merge): Утилита предложит вам разрешить конфликты в конфигурационных файлах (например, в /etc/passwd, /etc/ssh/sshd_config).

    Внимание: Внимательно смотрите на различия (diff). Как правило, нужно сохранить свои настройки, но принять новые системные группы или параметры, если они появились в FreeBSD 15.

Шаг 2. Установка нового ядра (Kernel)​

После того как все файлы скачаны, начинается первый этап установки. На этом шаге устанавливается только новое ядро FreeBSD 15.

Выполните команду:
Bash:
freebsd-update install

После завершения установки ядра систему необходимо перезагрузить, чтобы загрузиться уже с новым ядром 15-й версии, но старым окружением (userland).

Bash:
shutdown -r now

Шаг 3. Установка базовой системы (Userland)​

После перезагрузки войдите в систему (желательно через консоль или убедившись, что SSH работает). Теперь нужно установить саму базовую систему, утилиты и библиотеки FreeBSD 15.

Выполните команду freebsd-update install во второй раз:
Bash:
freebsd-update install

Шаг 4. Обновление стороннего софта (Packages / Ports)​

Поскольку вы перешли на новую мажорную версию ОС, все системные библиотеки изменились. Старые бинарные файлы программ (nginx, php, python, mysql и т.д.) могут перестать работать из-за несовместимости библиотек (libthr, libc и др.).

Необходимо принудительно обновить и перекомпилировать/переустановить весь установленный софт.

Вариант А: Если вы используете бинарные пакеты (pkg) — Рекомендуется​

Выполните полную переустановку всех пакетов с принудительным обновлением под новую версию ОС:
Bash:
pkg-static bootstrap -f
pkg upgrade -f

Команда pkg-static bootstrap -f обновляет сам менеджер пакетов под FreeBSD 15, а pkg upgrade -f принудительно перекачивает и переустанавливает вообще все пакеты.

Вариант Б: Если вы используете порты (Ports Collection)​

Если вы собираете софт из исходных кодов, обновите дерево портов и запустите пересборку:

Bash:
portsnap fetch update # или git pull, если используете git
portmaster -af
# или, если используете portupgrade:
portupgrade -af

Шаг 5. Удаление старых и ненужных файлов​

После того как весь сторонний софт обновлен, в системе остаются старые библиотеки от FreeBSD 14.4, которые больше не нужны и могут вызывать конфликты.

Запустите freebsd-update install в третий (последний) раз:
Bash:
freebsd-update install

Утилита удалит устаревшие файлы и библиотеки старой ОС.

Шаг 6. Финальная перезагрузка и проверка​

Чтобы убедиться, что всё работает корректно на полностью чистой системе, выполните финальную перезагрузку:

Bash:
shutdown -r now

После перезагрузки проверьте:​

  1. Версию ОС: uname -a (должно отображаться FreeBSD 15.0-RELEASE).
  2. Статус сервисов: Проверьте работу веб-серверов, баз данных и других критичных для вас служб (service -e или статус конкретных сервисов).
  3. Логи системных ошибок: Просмотрите /var/log/messages на предмет странных предупреждений.

Возможные проблемы и их решение​

  • Проблема с SSH после обновления: Если после первого этапа вы не можете зайти по SSH, возможно, в /etc/ssh/sshd_config изменились дефолтные настройки безопасности (например, запрет входа root). Именно поэтому мажорные обновления рекомендуется делать, имея доступ к IPMI/KVM.
  • Ошибка "Shared library X not found": Это означает, что вы пропустили Шаг 4 или какой-то пакет не обновился. Переустановите упавшую программу через pkg install -f <имя_пакета>.
На этом процесс обновления успешно завершен. Ваша система FreeBSD 15 готова к работе!
 

Создайте аккаунт или войдите в систему, чтобы комментировать

Вы должны быть зарегистрированным, чтобы оставить комментарий

Создать аккаунт

Создайте аккаунт в нашем сообществе.

Войти

У вас уже есть аккаунт? Войдите здесь.

Назад
Сверху Снизу