Updatedb: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
'''updatedb''' - Aktualisieren einer Datenbank für plocate | '''updatedb''' - Aktualisieren einer Datenbank für plocate | ||
== Beschreibung == | == Beschreibung == | ||
'''updatedb''' erstellt oder aktualisiert eine von locate(1) verwendete Datenbank | '''updatedb''' erstellt oder aktualisiert eine von locate(1) verwendete Datenbank | ||
* Wenn die Datenbank bereits existiert, werden ihre Daten wiederverwendet, um das erneute Lesen von Verzeichnissen, die sich nicht geändert haben, zu vermeiden | |||
'''updatedb''' wird normalerweise täglich von einem [[systemd.timer]](8) ausgeführt, um die Standarddatenbank zu aktualisieren | '''updatedb''' wird normalerweise täglich von einem [[systemd.timer]](8) ausgeführt, um die Standarddatenbank zu aktualisieren | ||
== Installation == | == Installation == | ||
Zeile 11: | Zeile 12: | ||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line> | ||
sudo updatedb [Optionen] | sudo updatedb [Optionen] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 19: | Zeile 20: | ||
! Unix !! GNU !! Parameter !! Beschreibung | ! Unix !! GNU !! Parameter !! Beschreibung | ||
|- | |- | ||
| -f || --add-prunefs || ''FS'' || Einträge in der durch Leerzeichen getrennten Liste ''FS'' zu PRUNEFS hinzufügen | | -f || --add-prunefs || ''FS'' || Einträge in der durch Leerzeichen getrennten Liste ''FS'' zu PRUNEFS hinzufügen | ||
|- | |- | ||
| -n || --add-prunenames || ''NAMEN'' || Einträge in der durch Leerzeichen getrennten Liste ''NAMEN'' zu PRUNENAMEN hinzufügen | | -n || --add-prunenames || ''NAMEN'' || Einträge in der durch Leerzeichen getrennten Liste ''NAMEN'' zu PRUNENAMEN hinzufügen | ||
|- | |- | ||
| -e || --add-prunepaths || ''PATHS'' || Einträge in der durch Leerzeichen getrennten Liste ''PATHS'' zu PRUNEPATHS hinzufügen | | -e || --add-prunepaths || ''PATHS'' || Einträge in der durch Leerzeichen getrennten Liste ''PATHS'' zu PRUNEPATHS hinzufügen | ||
|- | |- | ||
|| || --add-single-prunepath || ''PATH'' || Fügt ''PATH'' zu PRUNEPATHS hinzu | || || --add-single-prunepath || ''PATH'' || Fügt ''PATH'' zu PRUNEPATHS hinzu | ||
* Beachten Sie, dass dies derzeit die einzige Möglichkeit ist, einen Pfad mit einem Leerzeichen darin hinzuzufügen | * Beachten Sie, dass dies derzeit die einzige Möglichkeit ist, einen Pfad mit einem Leerzeichen darin hinzuzufügen | ||
|- | |- | ||
| -U || --database-root || ''PATH'' || Speichert nur die Ergebnisse des Scannens des Teilbaums des Dateisystems mit der Wurzel ''PATH'' in der erzeugten Datenbank | | -U || --database-root || ''PATH'' || Speichert nur die Ergebnisse des Scannens des Teilbaums des Dateisystems mit der Wurzel ''PATH'' in der erzeugten Datenbank | ||
* Standardmäßig wird das gesamte Dateisystem gescannt | * Standardmäßig wird das gesamte Dateisystem gescannt | ||
* locate(1) gibt Einträge als absolute Pfadnamen aus, die keine symbolischen Links enthalten, unabhängig von der Form von ''PATH'' | * locate(1) gibt Einträge als absolute Pfadnamen aus, die keine symbolischen Links enthalten, unabhängig von der Form von ''PATH'' | ||
|- | |- | ||
|| || --debug-pruning || || Debugging-Informationen über Beschneidungsentscheidungen in die Standardfehlerausgabe schreiben | || || --debug-pruning || || Debugging-Informationen über Beschneidungsentscheidungen in die Standardfehlerausgabe schreiben | ||
|- | |- | ||
| -h || --help || || Eine Zusammenfassung der verfügbaren Optionen auf die Standardausgabe schreiben und erfolgreich beenden | | -h || --help || || Eine Zusammenfassung der verfügbaren Optionen auf die Standardausgabe schreiben und erfolgreich beenden | ||
|- | |- | ||
| -o || --Output || ''DATEI'' || Schreiben Sie die Datenbank nach ''DATEI'', anstatt die Standarddatenbank zu verwenden | | -o || --Output || ''DATEI'' || Schreiben Sie die Datenbank nach ''DATEI'', anstatt die Standarddatenbank zu verwenden | ||
|- | |- | ||
|| || --prune-bind-mounts || ''FLAG'' || Setzen Sie PRUNE_BIND_MOUNTS auf ''FLAG'' und überschreiben Sie damit die Konfigurationsdatei | || || --prune-bind-mounts || ''FLAG'' || Setzen Sie PRUNE_BIND_MOUNTS auf ''FLAG'' und überschreiben Sie damit die Konfigurationsdatei | ||
|- | |- | ||
|| || --prunefs || ''FS'' || Setzt PRUNEFS auf ''FS'' und setzt damit die Konfigurationsdatei außer Kraft | || || --prunefs || ''FS'' || Setzt PRUNEFS auf ''FS'' und setzt damit die Konfigurationsdatei außer Kraft | ||
|- | |- | ||
|| || --prunenames || ''NAMEN'' || Setzen Sie PRUNENAMES auf ''NAMES'' und setzen Sie damit die Konfigurationsdatei außer Kraft | || || --prunenames || ''NAMEN'' || Setzen Sie PRUNENAMES auf ''NAMES'' und setzen Sie damit die Konfigurationsdatei außer Kraft | ||
|- | |- | ||
|| || --prunepaths || ''PATHS'' || Setzen Sie PRUNEPATHS auf ''PATHS'' und setzen Sie damit die Konfigurationsdatei außer Kraft | || || --prunepaths || ''PATHS'' || Setzen Sie PRUNEPATHS auf ''PATHS'' und setzen Sie damit die Konfigurationsdatei außer Kraft | ||
|- | |- | ||
| -l || --require-visibility || ''FLAG'' || Set the “require file visibility before reporting it” flag in the generated database to ''FLAG'' | | -l || --require-visibility || ''FLAG'' || Set the “require file visibility before reporting it” flag in the generated database to ''FLAG'' | ||
* If ''FLAG'' is 0 or no, or if the database file is readable by "others" or it is not owned by plocate, locate(1) outputs the database entries even if the user running locate(1) could not have read the directory necessary to find out the file described by the database entry | * If ''FLAG'' is 0 or no, or if the database file is readable by "others" or it is not owned by plocate, locate(1) outputs the database entries even if the user running locate(1) could not have read the directory necessary to find out the file described by the database entry | ||
* If ''FLAG'' is 1 or yes (the default), locate(1) checks the permissions of parent directories of each entry before reporting it to the invoking user | * If ''FLAG'' is 1 or yes (the default), locate(1) checks the permissions of parent directories of each entry before reporting it to the invoking user | ||
* To make the file existence truly hidden from other users, the database group is set to plocate and the database permissions prohibit reading the database by users using other means than locate(1), which is set-gid plocate | * To make the file existence truly hidden from other users, the database group is set to plocate and the database permissions prohibit reading the database by users using other means than locate(1), which is set-gid plocate | ||
* Note that the visibility flag is checked only if the database is owned by plocate and it is not readable by "others" | * Note that the visibility flag is checked only if the database is owned by plocate and it is not readable by "others" | ||
|- | |- | ||
| -v || --verbose || || Output path names of files to standard output, as soon as they are found | | -v || --verbose || || Output path names of files to standard output, as soon as they are found | ||
|- | |- | ||
| -V || --version || || Write information about the version and license of locate on standard output and exit successfully | | -V || --version || || Write information about the version and license of locate on standard output and exit successfully | ||
|} | |} | ||
Die PRUNE_BIND_MOUNTS, PRUNEFS, PRUNENAMES und PRUNEPATHS Variablen, die durch einige der Optionen verändert werden, sind im Detail in [[updatedb.conf]](5) | Die PRUNE_BIND_MOUNTS, PRUNEFS, PRUNENAMES und PRUNEPATHS Variablen, die durch einige der Optionen verändert werden, sind im Detail in [[updatedb.conf]](5) | ||
=== Parameter === | === Parameter === | ||
Zeile 111: | Zeile 112: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[updatedb]] durchsucht die angegebenen Orte nicht und löscht enthaltene Dateien aus dem Index | [[updatedb]] durchsucht die angegebenen Orte nicht und löscht enthaltene Dateien aus dem Index | ||
=== Dateien === | === Dateien === | ||
Zeile 118: | Zeile 119: | ||
! Datei !! Beschreibung | ! Datei !! Beschreibung | ||
|- | |- | ||
| /etc/updatedb.conf || Eine Konfigurationsdatei | | /etc/updatedb.conf || Eine Konfigurationsdatei | ||
* Siehe updatedb.conf(5) | |||
* Verwendet genau das gleiche Format wie das von '''mlocate'''(1)'s updatedb, so dass sie gemeinsam genutzt werden können | |||
|- | |- | ||
| /var/lib/plocate/plocate.db || Die standardmäßig aktualisierte Datenbank | | /var/lib/plocate/plocate.db || Die standardmäßig aktualisierte Datenbank | ||
Zeile 126: | Zeile 129: | ||
; require-visibility | ; require-visibility | ||
<blockquote> | <blockquote> | ||
Datenbanken, die mit '''--require-visibility no''' erstellt wurden, ermöglichen es Benutzern, die Namen von Dateien und Verzeichnissen anderer Benutzer zu finden, was ihnen sonst nicht möglich wäre | Datenbanken, die mit '''--require-visibility no''' erstellt wurden, ermöglichen es Benutzern, die Namen von Dateien und Verzeichnissen anderer Benutzer zu finden, was ihnen sonst nicht möglich wäre | ||
</blockquote> | </blockquote> | ||
<noinclude> | <noinclude> | ||
Zeile 140: | Zeile 143: | ||
=== Dokumentation === | === Dokumentation === | ||
; Man-Page | ; Man-Page | ||
# [https://manpages.debian.org/testing/plocate/locate.1.en.html locate(1)] | # [https://manpages.debian.org/testing/plocate/locate.1.en.html locate(1)] | ||
# [https://manpages.debian.org/testing/plocate/updatedb.8.en.html updatedb(8)] | # [https://manpages.debian.org/testing/plocate/updatedb.8.en.html updatedb(8)] |
Version vom 30. April 2025, 11:11 Uhr
updatedb - Aktualisieren einer Datenbank für plocate
Beschreibung
updatedb erstellt oder aktualisiert eine von locate(1) verwendete Datenbank
- Wenn die Datenbank bereits existiert, werden ihre Daten wiederverwendet, um das erneute Lesen von Verzeichnissen, die sich nicht geändert haben, zu vermeiden
updatedb wird normalerweise täglich von einem systemd.timer(8) ausgeführt, um die Standarddatenbank zu aktualisieren
Installation
updatedb ist Teil des Pakets plocate
Aufruf
sudo updatedb [Optionen]
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
-f | --add-prunefs | FS | Einträge in der durch Leerzeichen getrennten Liste FS zu PRUNEFS hinzufügen |
-n | --add-prunenames | NAMEN | Einträge in der durch Leerzeichen getrennten Liste NAMEN zu PRUNENAMEN hinzufügen |
-e | --add-prunepaths | PATHS | Einträge in der durch Leerzeichen getrennten Liste PATHS zu PRUNEPATHS hinzufügen |
--add-single-prunepath | PATH | Fügt PATH zu PRUNEPATHS hinzu
| |
-U | --database-root | PATH | Speichert nur die Ergebnisse des Scannens des Teilbaums des Dateisystems mit der Wurzel PATH in der erzeugten Datenbank
|
--debug-pruning | Debugging-Informationen über Beschneidungsentscheidungen in die Standardfehlerausgabe schreiben | ||
-h | --help | Eine Zusammenfassung der verfügbaren Optionen auf die Standardausgabe schreiben und erfolgreich beenden | |
-o | --Output | DATEI | Schreiben Sie die Datenbank nach DATEI, anstatt die Standarddatenbank zu verwenden |
--prune-bind-mounts | FLAG | Setzen Sie PRUNE_BIND_MOUNTS auf FLAG und überschreiben Sie damit die Konfigurationsdatei | |
--prunefs | FS | Setzt PRUNEFS auf FS und setzt damit die Konfigurationsdatei außer Kraft | |
--prunenames | NAMEN | Setzen Sie PRUNENAMES auf NAMES und setzen Sie damit die Konfigurationsdatei außer Kraft | |
--prunepaths | PATHS | Setzen Sie PRUNEPATHS auf PATHS und setzen Sie damit die Konfigurationsdatei außer Kraft | |
-l | --require-visibility | FLAG | Set the “require file visibility before reporting it” flag in the generated database to FLAG
|
-v | --verbose | Output path names of files to standard output, as soon as they are found | |
-V | --version | Write information about the version and license of locate on standard output and exit successfully |
Die PRUNE_BIND_MOUNTS, PRUNEFS, PRUNENAMES und PRUNEPATHS Variablen, die durch einige der Optionen verändert werden, sind im Detail in updatedb.conf(5)
Parameter
Umgebungsvariablen
Exit-Status
Wert | Beschreibung |
---|---|
0 | Erfolg |
>0 | Fehler |
Anwendung
Index aktualisieren
updatedb aktualisiert den Index für locate
sudo updatedb
Index aktualisieren
sudo updatedb
- Aktualisierung
Tägliche automatische Aktualisierung
/etc/cron.daily/plocate
Benutzer-Datenbaken
Als Benutzer eine eigene Datenbank erstellen
updatedb -l 0 -o <db_file> -U <Quellverzeichnis>
- Achtung
Wer Lesezugriff auf die Datei hat, kann die vollständige Liste der Dateien im Teilbaum von Quellverzeichnis lesen
Konfiguration
- Dateisysteme, Verzeichnisse oder Dateien ausschließen
- /etc/updatedb.conf
PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS afs autofs binfmt_misc ceph cgroup cgroup2 cifs coda configfs curlftpfs debugfs devfs devpts devtmpfs ecryptfs ftpfs fuse.ceph fuse.cryfs fuse.encfs fuse.glusterfs fuse.gocryptfs fuse.gvfsd-fuse fuse.mfs fuse.rclone fuse.rozofs fuse.sshfs fusectl fusesmb hugetlbfs iso9660 lustre lustre_lite mfs mqueue ncpfs nfs nfs4 ocfs ocfs2 proc pstore rpc_pipefs securityfs shfs smbfs sysfs tmpfs tracefs udev udf usbfs"
PRUNE_BIND_MOUNTS="yes"
updatedb durchsucht die angegebenen Orte nicht und löscht enthaltene Dateien aus dem Index
Dateien
Datei | Beschreibung |
---|---|
/etc/updatedb.conf | Eine Konfigurationsdatei
|
/var/lib/plocate/plocate.db | Die standardmäßig aktualisierte Datenbank |
Sicherheit
- require-visibility
Datenbanken, die mit --require-visibility no erstellt wurden, ermöglichen es Benutzern, die Namen von Dateien und Verzeichnissen anderer Benutzer zu finden, was ihnen sonst nicht möglich wäre
Anhang
Siehe auch
Dokumentation
- Man-Page
Links
Projekt
Weblinks