Наскільки я знаю позаду - Берклі БД, що є ключовою / цінністю бездемонтової бази даних. Перейдіть за посиланням для отримання додаткової інформації. Витяг з Вікіпедії:
Berkeley DB (BDB) - бібліотека програмного забезпечення, призначена для забезпечення високоефективної вбудованої бази даних для ключових / значущих даних. Berkeley DB написаний на C з прив'язкою API для C ++, C #, Java, Perl, PHP, Python, Ruby, Smalltalk, Tcl та багатьох інших мов програмування. BDB зберігає довільні пари ключів / даних у вигляді байтових масивів та підтримує декілька елементів даних для одного ключа. Берклі БД не є реляційною базою даних.
Розташування бази даних у RHEL / CentOS /var/lib/mlocate/mlocate.db
(не впевнене в інших дистрибутивах). Команда locate --statistics
дасть вам інформацію про місцеположення та деяку статистику бази даних (приклад):
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
Формат mlocate тут - сторінка керівника man:
База даних mlocate починається із заголовка файлу: 8 байт для магічного числа ("\ 0mlocate", як буква C), 4 байти для розміру блоку конфігурації у великому ендіані, 1 байт для версії формату файлу (0), 1 байт для прапора «вимагає видимості» (0 або 1), 2 байтів, а також ім'я шляху кореня бази даних, що закінчується NUL.
Заголовок супроводжується блоком конфігурації, включеним для запобігання повторному використанню баз даних, якщо деякі зміни конфігурації можуть вплинути на їх вміст. Розмір конфігураційного блоку в байтах зберігається у заголовку файлу. Блок конфігурації - це послідовність змінних призначень, упорядкованих іменем змінної. Кожне змінне призначення складається з імені змінної, що закінчується NUL, і впорядкованого списку значень, що закінчуються NUL. Список значень закінчується ще одним символом NUL. Використовуване впорядкування визначається функцією strcmp ().