FreeBSD のメジャーバージョンアップを行った際に運悪く pkg コマンドが使えなくなってしまったら、 代わりに pkg-static コマンドを使いましょう。
以下のように pkg 自身をアップデートすると使えるようになります。
pkg-static upgrade pkg
これは pkg コマンドがリンクしているライブラリ(libc や openssl など)が FreeBSD のメジャーバージョンアップにて削除されてしまった場合に起こります。
例えば FreeBSD の libc が libc.so.6 から libc.so.7 に更新された場合、 libc.so.6 をリンクしている pkg コマンドは使えなくなります。
pkg-static は必要なライブラリを全てスタティックリンクしているため、 このようなことは起こりません。
pkg コマンドがダイナミックリンクされていることには
の利点があります。
どちらも一長一短がありますので、必要に応じて使い分けてください。