search
LoginSignup
1

More than 1 year has passed since last update.

posted at

freebsd-updateにミスった話(手順ミス)

FreeBSD12.2がリリースされたので下記の手順FreeBSDで構築したサーバを更新してました

$ sudo freebsd-update upgrade -r 12.2-RELEASE
$ sudo freebsd-update install
$ sudo reboot
$ sudo freebsd-update install
# 更新系ファイルを削除(更新に必須ではない。ただの容量節約)
$ sudo rm -rf /var/db/freebsd-update/files

更新するサーバは複数台あったのでパラレルで手作業してたところ、
そのうちの1台のサーバで手順をミスり1回目のsudo freebsd-update installを行った後に
sudo rm -rf /var/db/freebsd-update/filesを行ってしまいました。

あせって下記のrollbackやfetchなどを再実行しても、手遅れでどうしようもない状態になってしまいました。
(更新系ファイルを消してしまったので当然ですが...)

$ sudo freebsd-update rollback
$ sudo freebsd-update fetch
$ sudo freebsd-update upgrade -r 12.2-RELEASE

結果的にカーネルが12.2でユーザランドが12.1の状態になってしまいました。
この状態でもサーバで使用していたプログラムは動きましたが気持ち悪いので、
サーバごと削除し他VMからコピーして復旧しました。

もし、他VMからコピーできるような状況ではなかったらどうしようかなと考えていたら、
freebsd-updateのマニュアルに--currently-runningというオプションがあるのを発見。
下記のコマンドを実行すればさきほどの状況でも更新できたかもしれません。
機会があったらやってみようと思います。

$ sudo freebsd-update upgrade -r 12.2-RELEASE --currently-running 12.1-RELEASE

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1