在 FreeBSD 搜尋檔案

在 Unix-Like 系統搜尋檔案,可以用 find 指令,不過一般人可能會更習慣使用 locate 指令。
# find / -name proftpd.conf
/var/etc/proftpd.conf

但使用 locate 指令時卻出現下面的訊息
# locate proftpd.conf
locate: Command not found.

# locate proftpd.conf
locate: database too small: /var/db/locate.database
Run /usr/libexec/locate.updatedb[@more@]解決方式:
1. 安裝 findutils 套件
# pkg install findutils

更新檔案資訊
# /usr/local/bin/gupdatedb

搜尋檔案
# /usr/local/bin/glocate proftpd.conf
/var/etc/proftpd.conf

2. 改使用 locate.updatedb 指令(使用 root 身份來執行會有 Security Risk)
# /usr/libexec/locate.updatedb
>>> WARNING
>>> Executing updatedb as root.  This WILL reveal all filenames
>>> on your machine to all login users, which is a security risk.
# locate proftpd.conf
/var/etc/proftpd.conf

檔案資料庫
# ls -l /var/db/locate.database
-rw-r–r– 1 nobody wheel 1475158 6月 26 10:31 /var/db/locate.database