- Автор темы
- Администратор
- Модер.
- Команда форума
- #1
Обновление операционной системы — задача, требующая внимательности и строгого соблюдения последовательности действий. Переход с ветки FreeBSD 14.x на мажорную версию FreeBSD 15 (Major Upgrade) подразумевает не просто обновление ядра и базовой системы, но и полную пересборку или обновление всего установленного стороннего софта (портов/пакетов).
Ниже представлена подробная пошаговая инструкция, которая поможет вам обновиться безопасно и без простоев.
Перезагрузите сервер (если устанавливались обновления ядра).
Запустите процесс скачивания метаданных и патчей:
Выполните команду:
После завершения установки ядра систему необходимо перезагрузить, чтобы загрузиться уже с новым ядром 15-й версии, но старым окружением (userland).
Выполните команду
Необходимо принудительно обновить и перекомпилировать/переустановить весь установленный софт.
Команда pkg-static bootstrap -f обновляет сам менеджер пакетов под FreeBSD 15, а pkg upgrade -f принудительно перекачивает и переустанавливает вообще все пакеты.
Запустите freebsd-update install в третий (последний) раз:
Утилита удалит устаревшие файлы и библиотеки старой ОС.
Ниже представлена подробная пошаговая инструкция, которая поможет вам обновиться безопасно и без простоев.
Подготовка к обновлению (Важно!)
Перед тем как ввести первую команду, выполните обязательные подготовительные шаги. Мажорные обновления могут приводить к непредвиденным ситуациям.- Создайте резервную копию (Бэкап): * Если система виртуализирована, сделайте снапшот (snapshot).
- Если это физический сервер, сделайте дамп важных данных (/etc, /usr/local/etc, базы данных, пользовательские домашние директории).
- Проверить свободное место: Убедитесь, что в корневом разделе (или в /var/db/freebsd-update) достаточно свободного места (минимум 5-10 ГБ).
- Обновите текущую систему: Перед переходом на новую мажорную версию рекомендуется довести текущую 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
После перезагрузки проверьте:
- Версию ОС: uname -a (должно отображаться FreeBSD 15.0-RELEASE).
- Статус сервисов: Проверьте работу веб-серверов, баз данных и других критичных для вас служб (service -e или статус конкретных сервисов).
- Логи системных ошибок: Просмотрите /var/log/messages на предмет странных предупреждений.
Возможные проблемы и их решение
- Проблема с SSH после обновления: Если после первого этапа вы не можете зайти по SSH, возможно, в /etc/ssh/sshd_config изменились дефолтные настройки безопасности (например, запрет входа root). Именно поэтому мажорные обновления рекомендуется делать, имея доступ к IPMI/KVM.
- Ошибка "Shared library X not found": Это означает, что вы пропустили Шаг 4 или какой-то пакет не обновился. Переустановите упавшую программу через pkg install -f <имя_пакета>.
