Soweit ich weiß, steckt dahinter Berkeley DB , eine daemonlose Key / Value-Datenbank. Folgen Sie dem Link für weitere Informationen. Auszug aus Wikipedia:
Berkeley DB (BDB) ist eine Softwarebibliothek, die eine leistungsfähige eingebettete Datenbank für Schlüssel- / Wertdaten bereitstellen soll. Berkeley DB ist in C mit API-Bindungen für C ++, C #, Java, Perl, PHP, Python, Ruby, Smalltalk, Tcl und viele andere Programmiersprachen geschrieben. BDB speichert beliebige Schlüssel- / Datenpaare als Byte-Arrays und unterstützt mehrere Datenelemente für einen einzelnen Schlüssel. Berkeley DB ist keine relationale Datenbank.
Der Speicherort der Datenbank in RHEL / CentOS ist /var/lib/mlocate/mlocate.db
(bei den anderen Distributionen nicht sicher). Der Befehl locate --statistics
gibt Ihnen Informationen über den Speicherort und einige Statistiken der Datenbank (Beispiel):
Database /var/lib/mlocate/mlocate.db:
16,375 directories
242,457 files
11,280,301 bytes in file names
4,526,116 bytes used to store database
Für das mlocate-Format ist hier der Kopf der Manpage:
Eine mlocate-Datenbank beginnt mit einem Dateikopf: 8 Byte für eine magische Zahl ("\ 0mlokal" wie ein C-Literal), 4 Byte für die Konfigurationsblockgröße in Big Endian, 1 Byte für die Dateiformatversion (0), 1 Byte Byte für das Flag "Sichtbarkeit erforderlich" (0 oder 1), 2-Byte-Abstand und ein mit NUL abgeschlossener Pfadname des Stamms der Datenbank.
Auf den Header folgt ein Konfigurationsblock, der sicherstellt, dass Datenbanken nicht wiederverwendet werden, wenn sich einige Konfigurationsänderungen auf ihren Inhalt auswirken könnten. Die Größe des Konfigurationsblocks in Bytes wird im Dateikopf gespeichert. Der Konfigurationsblock ist eine Folge von Variablenzuweisungen, die nach Variablennamen sortiert sind. Jede Variablenzuweisung besteht aus einem NUL-terminierten Variablennamen und einer geordneten Liste von NUL-terminierten Werten. Die Werteliste wird mit einem weiteren NUL-Zeichen abgeschlossen. Die verwendete Reihenfolge wird durch die Funktion strcmp () definiert.