超簡単! FreeBSD STABLE を RELEASE に アップグレードする方法

執筆:2021.02.26
編集:2021.02.26


開発環境のFreeBSD を久しぶりに起動して更新すると
何やら変なメッセージが表示されました。

#freebsd-update upgrade -r 11.4-RELEASE

src component not installed, skipped

freebsd-update: Cannot upgrade from a version that is not a release
(including alpha, beta and release candidates)
using freebsd-update. Instead, FreeBSD can be directly
upgraded by source or upgraded to a RELEASE/RELENG version
prior to running freebsd-update.

調べるとどうやら、開発ブランチと知らずに、SATBLEのisoファイルからOSをインストールしていたようです。
$ uname -a
FreeBSD freebsd.localdomain 11.2-STABLE FreeBSD 11.2-STABLE #0 r346333: Thu Apr 18 02:35:43 UTC 2019 root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64

ググるとアップグレードするには、/srcからbuildしないといけないとかアホなこと書いているのが多かったので、
アップグレードプログラムの検証部分を書き換えれば更新できるでしょう!!
ということで
とりあえず freebsd-updateを開くと、テキスト(スクリプト)ファイルではありませんか(⌒∇⌒)
問題の部分は unameで検証しているだけでした。 結論から言うと 「uname偽装」だけで解決します。

細かいことを書くととても長くなるで 機械的な手順だけまとめておきます

このアップグレード作業には数時間かかります。

アップグレードの途中で、/etcなどの設定ファイルの手動マージのお願い(数十個)が表示されるためです。

» 続きを読む