我有一个 NTFS 驱动器绑定到我家中的一个目录(绑定在 fstab 中指定),如下所示:
UUID=1A782A664EB8 /mnt/windows ntfs permissions,locale=en_US.utf8 0 2
/mnt/windows/Users/me/Documents /home/me/Documents none bind 0 0
文件的权限设置为 666,目录的权限设置为 777。
这是我的 /etc/updatedb.conf:
PRUNE_BIND_MOUNTS="yes"
PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"
注意:主目录未加密。
看来 synapse 无法索引这些文件。有没有办法强制 synapse 索引该目录?
答案1
这是可行的,但默认情况下是禁用的。我不确定如果使用 索引 NTFS 文件系统会发生什么updatedb
。
事实是,Synapse 使用 Zeitgeist,它用来locate
查找事物。
下列的这个答案我的/etc/updatedb.conf
读物
cat /etc/updatedb.conf
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"
这些变量记录在
man updatedb.conf
[...]
PRUNE_BIND_MOUNTS
One of the strings 0, no, 1 or yes. If PRUNE_BIND_MOUNTS is 1
or yes, bind mounts are not scanned by updatedb(8). All file
systems mounted in the subtree of a bind mount are skipped as
well, even if they are not bind mounts. As an exception, bind
mounts of a directory on itself are not skipped.
所以我必须修改第一个变量以"no"
通过
sudo nano /etc/updatedb.conf
然后修改一下,然后Ctrl+O保存,Ctrl+X退出。
然后
sudo updatedb
并在该挂载点上尝试locate
某些操作,看看是否有效。
我在帖子的最后重复一遍:我不知道扫描 NTFS 文件系统时会发生什么updatedb
(会花很长时间吗?会崩溃吗?会破坏 FS 吗?我真的不知道)。