「locate」は、Linuxでファイルを探したい時に使うコマンドです。以下のように実行すれば、ファイル名データベースから検索パターンにマッチするファイルを探して出力されます。
locate 検索パターン
locateコマンドが利用するファイル名データベースは、多くのLinuxシステムで1日に1回「updatedb」コマンドにより更新されます。
updatedbコマンドの設定ファイルである「/etc/updatedb.conf」では、ファイル名データベースから除外するディレクトリを設定可能です。
/etc/updatedb.confのデフォルト設定はLinuxディストリビューションにより異なりますが、たとえばUbuntu 18.04 LTSでは以下のようになっています。
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs devtmpfs fuse.mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ceph fuse.ceph fuse.rozofs ecryptfs fusesmb"
特定のディレクトリを除外したい場合、「PRUNEPATHS」に追加します。たとえば「/var/private」を追加で除外するなら、以下のように追記します。
PRUNEPATHS="/tmp /var/spool /media /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot /var/private"
なお、「PRUNENAMES」で除外するファイル名を、「PRUNEFS」で除外するファイルシステムを設定することも可能です。
コメント