我正在使用ubuntu 12.04
通常我可以使用locate
但我无法在pid files
/var/run
即使找到命令也找不到它们。
我已使用sudo updatedb
updatedb.conf
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"
答案 0 :(得分:1)
所以,首先
`stat -f -c %T /var/run`
表明此文件夹的文件系统为tmpfs
。
然后
`cat /etc/updatedb.conf`
表明updatedb.conf
禁止扫描tmpfs
文件系统上的文件和文件夹。
PRUNEFS =“NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite
tmpfs
usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs“
这就是pid files
找不到/ var / run文件中locate
的原因
有用的链接:
答案 1 :(得分:0)
您需要查看 /bin/updatedb.sh 的内容,并查看变量PRUNEFS和PRUNEPATHS。默认情况下,在Ubuntu的PRUNEPATHS变量中没有指定 / var / run (我相信),但是在PRUNEFS中列出了 tmpfs ,那就是 / var / run 是。如果要列出该文件夹的内容,则需要从 updatedb.sh (以及cron作业文件)中的filesystem prune变量中删除 tmpfs 。虽然我不太清楚为什么你想找到这样做...它不适合搜索经常变化的系统,找不是更适合你?在这种情况下,查找应该正常工作(假设您确保自己具有读取权限。)