plocate 是基于发布列表的locate(1),可以在更小的索引上提供更快的搜索。它几乎在所有方面都是 mlocate 的直接替代品,并且在 SSD 和非 SSD 上速度都很快。
但我在使用时遇到问题在 WSL1 下。
$ plocate java
/var/lib/plocate/plocate.db: No such file or directory
$ sudo updatedb
/var/lib/plocate/: Is a directory
$ updatedb.plocate
/var/lib/plocate/: Is a directory
$ apt-cache policy plocate
plocate:
Installed: 1.1.8-2+deb11u1
Candidate: 1.1.8-2+deb11u1
Version table:
1.1.13-1~bpo11+1 100
100 http://ftp.debian.org/debian bullseye-backports/main amd64 Packages
*** 1.1.8-2+deb11u1 500
500 http://deb.debian.org/debian bullseye/main amd64 Packages
100 /var/lib/dpkg/status
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
答案1
如果您的内核非常旧(比 Bullseye 支持的内核旧),或者您正在使用不完美的 Linux 内核(例如 WSL1),则可能会发生这种情况。 plocate 1.1.12 中采用了解决方法。
答案2
您必须更新 plocate 的数据库,我使用以下方法修复了问题:
sudo updatedb.plocate
答案3
更新到 1.1.13-1~bpo11+1 修复了该问题:
sudo apt install -y plocate -t bullseye-backports