Wenn ich das richtig verstehe, ist die Datenbank locate
nur für Dateien auf Partitionen interner Festplatten geeignet. Ich frage mich, ob es möglich ist, locate
auf externen Festplatten zu verwenden?
Wenn ich das richtig verstehe, ist die Datenbank locate
nur für Dateien auf Partitionen interner Festplatten geeignet. Ich frage mich, ob es möglich ist, locate
auf externen Festplatten zu verwenden?
Die Suchdatenbank ist im Allgemeinen so konfiguriert, dass Dateien auf Wechseldatenträgern weggelassen werden, da nicht davon ausgegangen werden kann, dass sie später vorhanden sind. Es kann über eine Datei wie konfiguriert werden /etc/updatedb.conf
(der Speicherort hängt davon ab, welches der verschiedenen locate
Programme Sie verwenden und wie es von Ihrer Distribution konfiguriert wird).
Bei einem Wechseldatenträger ist es wahrscheinlich besser, die Datenbank in einer separaten Datei zu speichern. Lauf
updatedb --localpaths=/media/my_removable_disk --output=/var/cache/locate/my_removable_disk.locatedb
um die Datenbank zu aktualisieren. In /var/cache/locate/my_removable_disk.locatedb
die Umgebungsvariablen LOCATE_PATH
; Für relativ neue Versionen von GNU find steht eine leere Pfadkomponente für den Standardpfad, den Sie verwenden können
export LOCATE_PATH=:/var/cache/locate/my_removable_disk.locatedb
Wenn Sie die Suchdatenbank auf dem Wechseldatenträger behalten möchten, fügen Sie den Pfad nicht hinzu LOCATE_PATH
, da nicht mehr locate
gesucht wird, ob eine der Datenbankdateien fehlt. Ein Wrapper-Skript wäre besser:
locates () {
locate "$@"
for d in /media/*; do
locate -d "$d/.locatedb" "$@"
done
}
Die Konfigurationsdatei befindet sich hier:
/etc/updatedb.conf
Wenn Sie also nichts hinzugefügt haben, mounten Sie einfach Ihre Festplatte und tunupdatedb
Sie dies . Dann können Sie auf externen Festplattenpartitionen nach Dateien suchen.quelle
updatedb
erneut tun .updatedb
täglich erledigt