Machen Sie "Suchen" in der Lage, Dateien auf einer externen Festplatte zu suchen

7

Wenn ich das richtig verstehe, ist die Datenbank locatenur für Dateien auf Partitionen interner Festplatten geeignet. Ich frage mich, ob es möglich ist, locateauf externen Festplatten zu verwenden?

Tim
quelle

Antworten:

6

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 locateProgramme 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.locatedbdie 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 locategesucht wird, ob eine der Datenbankdateien fehlt. Ein Wrapper-Skript wäre besser:

locates () {
  locate "$@"
  for d in /media/*; do
    locate -d "$d/.locatedb" "$@"
  done
}
Gilles 'SO - hör auf böse zu sein'
quelle
3
Nur ein Hinweis zum späteren Nachschlagen, der Befehl ist für mlocate-Benutzer etwas anders: updatedb --database-root / media / my_removable_disk --output = / var / cache / locate / my_removable_disk.locatedb --prunepaths "" --prunefs " "
Ivan
5

Die Konfigurationsdatei befindet sich hier: /etc/updatedb.confWenn Sie also nichts hinzugefügt haben, mounten Sie einfach Ihre Festplatte und tun updatedbSie dies . Dann können Sie auf externen Festplattenpartitionen nach Dateien suchen.

Gänseblümchen
quelle
Vielen Dank! Wenn ich meine externe Festplatte von meinem Computer trenne, wird die Konfigurationsdatei später automatisch aktualisiert, um Informationen über die externe Festplatte zu entfernen.
Tim
@ Tim, nein, das ist derzeit nicht möglich. Die Informationen werden erst aktualisiert, wenn Sie es updatedberneut tun .
Gänseblümchen
@ Tim aktualisiertb erzeugen eine statische Datenbankdatei
Gänseblümchen
Auf meinem Ubuntu 12.04 wird die Datenbank jedoch automatisch und regelmäßig aktualisiert.
Tim
@ Tim ja, es gibt einen Cron-Job, der updatedbtäglich erledigt
Gänseblümchen