为什么找到命令没有找到任何pid文件

时间:2014-05-29 06:07:47

标签: linux ubuntu locate

我正在使用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"

2 个答案:

答案 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 。虽然我不太清楚为什么你想找到这样做...它不适合搜索经常变化的系统,不是更适合你?在这种情况下,查找应该正常工作(假设您确保自己具有读取权限。)