Поиск по сайту:

Как обновить FreeBSD 13 с FreeBSD 12

Пошаговое руководство по обновлению FreeBSD 12.x до FreeBSD 13.1

Официально выпущена стабильная версия FreeBSD 13.1. В этом руководстве описаны шаги по обновлению FreeBSD 13.1 с FreeBSD 12.3 и более ранних версий.

Введение

Группа разработчиков релизов FreeBSD недавно объявила о выпуске FreeBSD 13.1-RELEASE. Это второй выпуск ветки стабильной/13.

FreeBSD 13.1 поставляется со многими обновленными функциями. Он поддерживает несколько архитектур, включая amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, Armv6, Armv7, aarch64 и riscv64.

Если вы предпочитаете новую установку, перейдите на страницу загрузки FreeBSD 13.1 и получите версию, подходящую для вашей архитектуры. Затем обратитесь к следующему руководству, чтобы узнать, как установить FreeBSD.

Установка FreeBSD – Пошаговое руководство

Если вы уже используете более старые версии (например, FreeBSD 12.x), вы можете напрямую обновить FreeBSD 12.x до FreeBSD 13.1. В этом пошаговом руководстве мы посмотрим, как выполнить обновление до FreeBSD 13.1 с версии FreeBSD 12.3.

Обновите FreeBSD 12.

Перво-наперво. Сделайте резервную копию всего, что вы не можете позволить себе потерять. В моем случае процесс обновления FreeBSD прошел нормально. Однако Я настоятельно рекомендую вам сделать резервную копию данных.

Давайте теперь продолжим и обновим текущую версию FreeBSD.

Проверьте версию ОС FreeBSD и версию ядра с помощью команд:

freebsd-version -k

Пример вывода:

12.3-RELEASE
uname -mrs

Пример вывода:

FreeBSD 12.3-RELEASE amd64

Проверьте ОС FreeBSD и версию ядра

Как вы видите выше, установлена версия FreeBSD 12.3-RELEASE.

Перед обновлением до следующей доступной основной версии мы должны обновить текущую версию FreeBSD 12.x.

Чтобы загрузить и установить исправления безопасности FreeBSD, выполните следующие команды от имени пользователя root:

freebsd-update fetch
freebsd-update install
pkg upgrade

После обновления пакетов перезагрузите систему:

shutdown -r now

Или,

reboot

Пришло время обновить FreeBSD 12 до FreeBSD 13.

Обновление до FreeBSD 13 с FreeBSD 12

На момент написания этого руководства использовалась последняя стабильная версия FreeBSD 13.1.

Запустите следующую команду для обновления до FreeBSD 13.1-RELEASE с версии FreeBSD 12.x:

freebsd-update -r 13.1-RELEASE upgrade

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

Во время обновления вас спросят, что установить, что удалить или как действовать дальше. Возможно, вам придется ввести y и нажать ENTER несколько раз, чтобы продолжить.

Пример вывода:

 src component not installed, skipped
 Looking up update.FreeBSD.org mirrors… 2 mirrors found.
 Fetching metadata signature for 12.3-RELEASE from update1.freebsd.org… done.
 Fetching metadata index… done.
 Fetching 1 metadata files… done.
 Inspecting system… done.
 The following components of FreeBSD seem to be installed:
 kernel/generic kernel/generic-dbg src/src world/base world/base-dbg world/doc
 world/lib32 world/lib32-dbg
 The following components of FreeBSD do not seem to be installed:
 Does this look reasonable (y/n)? y
 Fetching metadata signature for 13.1-RELEASE from update2.freebsd.org… done.
 Fetching metadata index… done.
 Fetching 1 metadata patches. done.
 Applying metadata patches… done.
 Fetching 1 metadata files… 
[...]

Обновление до FreeBSD 13 с версии FreeBSD 12

Приведенная выше команда начнет загрузку всех пакетов. Сядьте поудобнее и расслабьтесь. Это займет несколько минут в зависимости от скорости Интернета и количества установленных пакетов в вашей системе FreeBSD.

Во время задачи обновления файлы конфигурации будут объединены. Результаты каждого успешного слияния будут показаны пользователю по мере продолжения процесса.

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

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

freebsd-update install

Пример вывода:

ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
Installing updates…
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.

Установить загруженные обновления

Все обновления ядра установлены в вашу FreeBSD. перезагрузите систему, чтобы применить исправления.

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

freebsd-update install

После установки всех обновлений вы увидите следующий вывод:

[...]
Completing this upgrade requires removing old shared object files.
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.

Еще раз запустите ту же команду, чтобы удалить старые общие библиотеки и выполнить задачу обновления FreeBSD 13.1.

freebsd-update install

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

Убедитесь, что FreeBSD 13.1 успешно обновлена, проверив версию ОС.

freebsd-version -k
13.1-RELEASE

И проверьте версию ядра FreeBSD:

uname -mrs
FreeBSD 13.1-RELEASE amd64

Отобразить версию ОС FreeBSD и ядра

Поздравляем! Мы только что обновились до FreeBSD 13.1.

Нам нужно сделать еще одну вещь. После обновления основной версии все установленные пакеты и порты должны быть обновлены.

Обновите все установленные пакеты и коллекции портов, используя следующие команды:

pkg-static install -f pkg
pkg bootstrap -f
pkg update
pkg upgrade -y

Вот и все. Перезагрузитесь еще раз и начните использовать версию FreeBSD.

Устранение ошибки обновления Pkg во FreeBSD

После обновления до FreeBSD 13 при попытке обновить коллекции портов возникла следующая ошибка:

 pkg-static: Warning: Major OS version upgrade detected.  Running "pkg-static install -f pkg" recommended
 Updating FreeBSD repository catalogue…
 pkg-static: repository meta has wrong version 2
 pkg-static: Repository FreeBSD load error: meta cannot be loaded No error: 0
 Fetching meta.txz: 100%    916 B   0.9kB/s    00:01    
 pkg-static: repository meta has wrong version 2
 repository FreeBSD has no meta file, using default settings
 Fetching packagesite.txz: 100%    6 MiB   1.6MB/s    00:04    
 pkg-static: repository meta has wrong version 2
 pkg-static: Repository FreeBSD load error: meta cannot be loaded No error: 0
 Unable to open created repository FreeBSD
 Unable to update repository FreeBSD
 Error updating repositories!

Обычно это происходит, когда мы обновляем версию 12.0 до версии 12.1 или 2.

Чтобы устранить эту проблему, обновите ports-mgmt/pkg из дерева портов с помощью ports-mgmt/portmaster.

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

portsnap fetch

Пример вывода:

 Looking up portsnap.FreeBSD.org mirrors… 4 mirrors found.
 Fetching public key from ipv4.aws.portsnap.freebsd.org… done.
 Fetching snapshot tag from ipv4.aws.portsnap.freebsd.org… done.
 Fetching snapshot metadata… done.
 Fetching snapshot generated at Sat May 28 05:59:31 IST 2022:
 552628c35b88d79f5a54b7774ddca0463fde713e43f367          88 MB 3233 kBps    28s
 Extracting snapshot… done.
 Verifying snapshot integrity… done.
 Fetching snapshot tag from ipv4.aws.portsnap.freebsd.org… done.
 Fetching snapshot metadata… done.
 Updating from Sat May 28 05:59:31 IST 2022 to Sat May 28 17:23:31 IST 2022.
 Fetching 5 metadata patches… done.
 Applying metadata patches… done.
 Fetching 0 metadata files… done.
 Fetching 18 patches. 
 (18/18) 100.00%  done.                             
 done.
 Applying patches… 
 done.
 Fetching 0 new ports or files… done.

Затем выполните следующую команду, чтобы загрузить и извлечь все дерево портов в каталог /usr/ports.

portsnap extract

И затем запустите:

pkg bootstrap -f
pkg update -f
pkg upgrade -f

Обычно это происходит, когда мы делаем незначительное обновление, например с 12.0 до 12. После запуска pkg bootstrap -f все заработало как положено.

Изменить имя хоста (необязательно)

Раньше я устанавливал имя хоста для любой системы Linux или Unix с версией операционной системы. Например, я обычно устанавливаю имя «freebsd12» для систем FreeBSD 12. Если вы чем-то похожи на меня, вам следует обновить имя хоста, чтобы оно отражало текущую версию.

От имени пользователя root введите «имя хоста <новое имя хоста>», и имя хоста будет немедленно изменено.

hostname freebsd13.ostechnix.lan

Замените «freebsd13.ostechnix.lan» своим собственным именем хоста.

Чтобы сделать это изменение постоянным при перезагрузке, отредактируйте файл «/etc/rc.conf» с помощью текстового редактора:

vi /etc/rc.conf

Добавьте/измените следующую строку:

hostname="freebsd13.ostechnix.lan"

Перезагрузите систему, чтобы изменения вступили в силу.

Проверьте, изменилось ли имя хоста с помощью команды:

hostname
freebsd13.ostechnix.lan

Проверьте имя хоста FreeBSD

Идеальный! Начните использовать систему FreeBSD 13.1!!

Связанное чтение:

  • Как включить SSH во FreeBSD

Статьи по данной тематике