Ich habe einige Verzeichnisse von einem Samba-Share-Server (meinem LAN-Speicher) gemountet und möchte updatedb darauf ausführen. Dazu führe ich erfolgreich den folgenden Befehl aus:
updatedb -l 0 -o ~/.myDbFile.db -U /mnt/myCustomDirectory/
Darunter /mnt/myCustomDirectory/
befinden sich einzelne gemountete Samba-Freigaben, wie zum Beispiel:
/mnt/myCustomDirectory/Music
/mnt/myCustomDirectory/Video
/mnt/myCustomDirectory/Backup
und so weiter.
Nach einer Neuinstallation des neuesten Linux Mint 19.2 (dasselbe wie Ubuntu 18.04) .myDbFile.db
ist es leer und nichts wird indiziert.
Wenn ich den Befehl stattdessen auf einer einzelnen Freigabe ausführe, wird die Datenbankdatei indiziert:
updatedb -l 0 -o ~/.myDbFile_Music.db -U /mnt/myCustomDirectory/Music
Irgendeine Idee, warum der erste Befehl rekursiv in den einzelnen Ordnern nicht funktioniert?
Antwort1
Hier ist die Lösung, die ich schließlich gefunden habe.
Für updatedb führe ich eine Schleife über die einzelnen gemounteten Verzeichnisse aus und erstelle eine spezifische Datenbankdatei:
alias updatedb_lanserver='cd /mnt/myCustomDirectory; for folder in *; do updatedb -l 0 -o ~/.lan_server_$folder.db -U $folder; done'
Um alle diese Datenbankdateien gleichzeitig zu durchsuchen, habe ich eine Bash-Funktion erstellt:
locate_lanserver() { for dbfile in ~/.lan_server*.db; do locate -d $dbfile -i $1; done }
jetzt kann ich einfach die Funktion nutzen um etwas zu suchen:
locate_lanserver text_to_be_searched