pkg: Cannot get an advisory lock on a database, it is locked by another process を pkg clean で解除2020年10月03日 12時30分50秒

Dynabook を FreeBSD 12.2-BETA に更新した。その後、pkg upgrade で ports 側の更新を行った。どうもスワップ領域が足りないのと、ハードディスクが遅いので反応が無くなってしまった。物理メモリが 512 MB でスワップ領域が 1GB と少ない。スワップ領域が物理的に壊れている可能性もある。取り敢えず、pkg upgrade を始めたら最初の更新状況を点検している段階でメモリが足りなくなり、反応が無くなったので諦めて強制終了した。

再起動後もロックが残っているようでエラーが出る。

$ pkg upgrade
Updating FreeBSD repository catalogue...
Fetching meta.txz: 100%    916 B   0.9kB/s    00:01    
Fetching packagesite.txz: 100%    6 MiB   2.2MB/s    00:03    
Processing entries: 100%
FreeBSD repository update completed. 31680 packages processed.
All repositories are up to date.
process with pid 1337 still holds the lock
process with pid 1337 still holds the lock
process with pid 1337 still holds the lock
process with pid 1337 still holds the lock
process with pid 1337 still holds the lock
process with pid 1337 still holds the lock
pkg: Cannot get an advisory lock on a database, it is locked by another process
pkg clean で残ってしまったロックを削除できる。
$ pkg clean