FreeBSDを13.2から一気に14にアップグレードする、とおまけにVultrからカスタムISOでブートするオノマトペ

3 min read

Screenshot_20240720_062906.png

こんにちは、無能です。

結構FreeBSD 14の評判が良いので一気にあげてみたいと思います。

最初に13.3をfreebsd-upgradeしたら、何故か毎回起動時fsckでコケてRead Onlyモードから抜け出せずにシングルユーザモードでのfsckしても変わらず。しかも、pingしても駄目でcurlはそもそもライブラリ欠落していると出てきた。ネットワークも起動時だと駄目っぽい。
次にVultrってカスタムISOを別パーティションとしてブートできるみたいでそこからFreeBSDをブートしてから、アカンFreeBSDのパーティションをfsckしても変わらず。

FreeBSDのブートプロセスとして、fsckがコケるとシングルユーザモードが継続してしまうようであり mount -o rw /をしてあげてから作業をする必要があった。
最終的に13.3に上げようとしてコケたからこのまま14にあげてしまえ!ということで

コケたせいで何故かネット繋がらなくなっていたのは、一度ifcongfigで

vtnet0であることを確認したので

dhclient vtnet0として一度DHCPで一度再取得してみたらネットワークに繋がった(どのタイミングでresov.confの中身変わっていたんだろう?)ので、以下のサイトにお世話になり記事通りに行った結果全て問題無く通った。

https://www.takatono.info/article/144

しかし、

基本的には「<<<<<<< current version」から「=======」までの行を削除して「>>>>>>> xx.x-RELEASE」の行も削除する。

ただし、削除してもいいかどうかはちゃんと確認する必要はある。

ここはあまり良くないかもしれない。
それぞれのconfigファイルの中身を弄るので、この記事中の通りにやってしまうとアップデート以前の設定がほとんど全て欠落するのでちゃんと必要な箇所を確認してviエディタ上で編集しなければならない。

その後のpkgのアップグレードも含めて全て記事通りに行き、簡潔にかかれている為とても有り難かった。

余談として、Vultrのサポートさん

今回にあたって、流石に2時間くらい経ってからVultr自体にも助けを求めた。

fsck自体も失敗するからどうにかする方法はないか?と聞いたところ、ここで冒頭に書いていたカスタムISOブートの機能を教えてもらった。

このFinnixとかいうVultr標準イメージの中にあるDebianベースの救助用OSみたいなの使ってfsckして〜と言われたのだが、BSD版fsckとGNU/Linux版fsckではGNU/Linux版はそのままコマンド走らせるとext2/3/4として認識してしまってFreeBSDのUFSファイルシステム自体を認識してくれなかった。

ということで今回の学びはVultrからカスタムISOからブートできるということ。一応イメージ的にはこのカスタムISOブート自体は同じインスタンスで起動されるので2つ同時起動とかは無理です。USBブートしているようなイメージであればわかりやすい、はず。

でも、これが使えるのならばディスクまるごとディスク選択してscpで自宅サーバ自体にイメージ持ってこれたりできそうな想像が出来て有料のバックアップオプション使わないでも済むかなあと思ったり。

Vultrサポートの方は返信早すぎてちょこちょこ1分くらいで返信来たりしてて驚きました。
なんとなく、癒やしを求めて「余談で嫌なら答えなくていいんだけど、日本は今3:40分なんだ。そっちは何時だい?」と聞いてしまってそれまでめっちゃ早かった返信が一切無くなりました。

ということでオチもついたことなので、今日はここまで。

またよろしくお願いします。