2022/08/20(土)Panic!

何が起こったかよく分からないが、FreeBSD 13.1Rなホストの1台で、pkgngのパッケージ管理ファイルがぶっ飛んだ。バックアップを使っても復旧できない。
幸い、portupgrade経由でインストールしたもののログが残っていて、どんなpackageがどんなオプションつけて入っているかは分かっている。
そこで、次の手順で復旧かな。
  1. /var/db/pkg を初期化。
  2. ログを基に入れられるだけportsから再インストール。ただし、perl/ruby/pythonは現在のports正式採用分のみ。
  3. packageのautoremoveフラグを再設定。必要なアプリ以外はautoremoveフラグを立てる。
  4. pkg autoremoveで不要なpackageを削除。