我有一些从 samba 共享服务器(我的 LAN 存储)挂载的目录,我想在它们上运行 updateb。我用来成功运行这样的命令来做到这一点:
updatedb -l 0 -o ~/.myDbFile.db -U /mnt/myCustomDirectory/
下面/mnt/myCustomDirectory/
是单独安装的 samba 共享,例如:
/mnt/myCustomDirectory/Music
/mnt/myCustomDirectory/Video
/mnt/myCustomDirectory/Backup
等等。
全新安装最新的 linux Mint 19.2(与 Ubuntu 18.04 相同)后,它.myDbFile.db
是空的,没有任何内容被索引。
如果我在单个共享上运行该命令,则 dbFile 会被索引:
updatedb -l 0 -o ~/.myDbFile_Music.db -U /mnt/myCustomDirectory/Music
知道为什么第一个命令不能递归到单个文件夹中吗?
答案1
这是我最终想到的解决方案。
对于 updatedb,我循环安装的单个目录并创建一个特定的 db 文件:
alias updatedb_lanserver='cd /mnt/myCustomDirectory; for folder in *; do updatedb -l 0 -o ~/.lan_server_$folder.db -U $folder; done'
为了一次搜索所有这些数据库文件,我创建了一个 bash 函数:
locate_lanserver() { for dbfile in ~/.lan_server*.db; do locate -d $dbfile -i $1; done }
现在我可以简单地使用该功能来搜索某些内容:
locate_lanserver text_to_be_searched