Инструкция по обновлению до FreeBSD 15.1-RELEASE

Аннотация

В данной заметке подробно описан порядок действий по обновлению существующих установок до FreeBSD 15.1-RELEASE.

Введение

В этом документе объясняется порядок обновления существующих установок 14.4-RELEASE или 15.0-RELEASE до 15.1-RELEASE. Системы, работающие под управлением более старых релизов, должны быть поэтапно обновлены до одного из этих релизов перед выполнением данного обновления.

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

Порядок выполнения бинарного обновления зависит от метода, используемого для управления операционной системой. Чтобы определить это, выполните следующую команду:

pkg which /usr/bin/uname

Если отображается сообщение /usr/bin/uname was not installed by a package, см. раздел Обновление с использованием наборов дистрибутива ниже.

Если отображается имя пакета, например FreeBSD-runtime-15.0, см. раздел Обновление с использованием пакетов базовой системы ниже.

Если выполняется обновление из исходных кодов, обратитесь к главе Руководства FreeBSD, посвящённой обновлению FreeBSD из исходных кодов.

Обновление с использованием наборов дистрибутива

Системы, развёрнутые с использованием наборов дистрибутива, обновляются с помощью freebsd-update(8). Системы, работающие под управлением 14.4-RELEASE или 15.0-RELEASE, могут быть обновлены следующим образом:

  1. Установите все ожидающие патчи:

    Всегда загружайте и устанавливайте все ожидающие патчи для текущей системы перед обновлением:

    freebsd-update fetch
    freebsd-update install
  2. Обновите ядро

    Загрузите и установите новое ядро:

    freebsd-update upgrade -r 15.1-RELEASE
    freebsd-update install

    В процессе freebsd-update(8) может запросить помощь в объединении конфигурационных файлов.

  3. Перезагрузитесь в новое ядро

    Перезагрузитесь в новое ядро перед установкой нового пользовательского окружения:

    shutdown -r +10min "Rebooting for a kernel upgrade"
  4. Обновите пользовательское окружение

    После перезагрузки снова выполните freebsd-update(8) для установки новых компонентов пользовательского окружения:

    freebsd-update install

    freebsd-update(8) может предложить пересобрать или переустановить все стороннее программное обеспечение из-за изменений в системных библиотеках. Следуйте этим инструкциям по мере необходимости.

    Tip

    При обновлении с 14.4-RELEASE, если переустановка всего стороннего программного обеспечения невозможна, установите пакет misc/compat14x.

  5. Удалите старые файлы

    Снова выполните freebsd-update(8) для удаления устаревших файлов базовой системы:

    freebsd-update install
  6. Обновите загрузчик

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

    sysctl machdep.bootmethod

Обновление с использованием пакетов базовой системы

Системы, развёрнутые с пакетной базовой системой, обновляются с помощью pkg(8). Системы, работающие под управлением 14.4-RELEASE или 15.0-RELEASE, могут быть обновлены следующим образом:

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

    Создайте рекурсивный снимок работающей системы с именем, содержащим текущую дату:

    bectl create -r pre-15.1

    Загрузчик предоставляет меню для загрузки с этого снимка, если потребуется откат обновления.

  2. Обновите менеджер пакетов

    pkg upgrade -yr FreeBSD-ports pkg
  3. Обновите базовую систему

    pkg -oABI=FreeBSD:15:$(uname -p) -oOSVERSION=1501000 upgrade -r FreeBSD-base

    После обновления просмотрите все сообщения, выведенные pkg(8). Некоторые пакеты могут требовать дополнительных шагов по настройке, например выполнения service <name> setup. Следуйте этим инструкциям по мере необходимости.

  4. Обновите сторонние модули ядра

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

    pkg upgrade -r FreeBSD-ports-kmods

    Если установка не использует их, pkg(8) ответит соответствующим образом.

  5. Проверьте наличие неудачных обновлений конфигурации

    Если pkg(8) не может объединить обновления конфигурационных файлов, он установит новую конфигурацию как файл с расширением .pkgnew. Проверьте их наличие с помощью следующей команды:

    find /etc /usr/local/etc -name '*.pkgnew' -ls

    Если они существуют, сравните их с развёрнутой версией (например, diff /etc/rc.conf /etc/rc.conf.pkgnew) и объедините все необходимые изменения.

  6. Обновите загрузчик:

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

    sysctl machdep.bootmethod

Обновление загрузчика UEFI

  1. Определение ESP

    Определите системный раздел EFI (ESP), в котором находится загрузчик, выполнив следующую команду:

    efibootmgr -v

    Вывод должен быть похож на следующий:

     +Boot0000* FreeBSD HD(1,GPT,f859c46d-19ee-4e40-8975-3ad1ab00ac09,0x800,0x82000)/File(\EFI\freebsd\loader.efi)
                           nda0p1:/EFI/freebsd/loader.efi (null)

    Активная запись загрузчика помечена символом плюс (+). Отметьте расположение загрузчика, в данном случае EFI/freebsd/loader.efi на nda0p1, хотя в системах оно может различаться.

  2. Монтирование ESP

    Если ESP ещё не смонтирован в /boot/efi, смонтируйте раздел, указанный в выводе efibootmgr:

    mount_msdosfs /dev/nda0p1 /boot/efi
  3. Установка загрузчика

    На системах AMD64 обновите загрузчик в настроенном и стандартном расположениях, выполнив следующие команды:

    cp /boot/loader.efi /boot/efi/efi/freebsd/loader.efi
    cp /boot/loader.efi /boot/efi/efi/boot/bootx64.efi

    Обратите внимание, что в некоторых установках может отсутствовать freebsd/loader.efi.

    Для систем AArch64 вместо этого выполните следующие команды:

    cp /boot/loader.efi /boot/efi/efi/freebsd/loader.efi
    cp /boot/loader.efi /boot/efi/efi/boot/bootaa64.efi

    Для других архитектур действия различаются соответственно; при необходимости обратитесь к loader.efi(8).

  4. Завершение

    Перезагрузитесь после завершения обновления до FreeBSD 15.1-RELEASE:

    shutdown -r +10min "Rebooting for a system upgrade"

Обновление загрузчика BIOS

Для систем, загружающихся через BIOS или UEFI CSM и использующих схему разделов GPT, обновление начального загрузчика является необязательным, если только не обновляется корневой пул ZFS (что не рекомендуется). Обновление возможно только в том случае, если раздел freebsd-boot имеет размер не менее 180 КБ; теперь стандартным является 512 КБ.

  1. Определение раздела freebsd-boot

    Определите имя устройства и индекс раздела freebsd-boot, выполнив следующую команду:

    gpart show

    Вывод должен быть похож на следующий:

     =>       34  246162605  ada0  GPT  (224G)
              34       1024     1  freebsd-boot  (512K)

    Отметьте имя (ada) и индекс (1) раздела freebsd-boot.

  2. Обновление загрузчика

    При использовании ZFS в BIOS обновите загрузочный код, выполнив следующую команду:

    gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

    Где 1 — это индекс раздела freebsd-boot.

    Если загрузка выполняется с массива хранения, повторите этот шаг для всех дисков в пуле.

    При использовании UFS в BIOS вместо этого выполните следующую команду:

    gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0
  3. Завершение

    Перезагрузитесь после завершения обновления до FreeBSD 15.1-RELEASE:

    shutdown -r now

Последнее изменение: 16 июня 2026 г. от Vladlen Popolitov