我有一些從 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