где находится база данных updatedb?


14

Я хотел бы удалить с продувкой все записи locate и его базы данных.

Я старался

apt-get purge locate

и

rm /etc/updatedb*

Но не исчезла ли база данных?
Где находится база данных updatedb в Debian Squeeze?

Я бы тоже хотел удалить его вручную, чтобы я мог его чисто переустановить

Ответы:


12

man updatedb

искать 'ФАЙЛЫ'

мой говорит:

FILES
       /etc/updatedb.conf
              A configuration file.  See updatedb.conf(5).

       /var/lib/mlocate/mlocate.db
              The database updated by default.

1
Это перемещение, а не определение местоположения. Хотя / var / lib / locate не является плохой догадкой для locate.
Деннис Каарсемакер

1
Я пытаюсь дать общий совет и результаты следования упомянутому совету относительно моей системы.
Птман

2
О, и кажется, что mlocate - это стандартное местоположение в Debian.
Птман

mlocate не установлен, ни slocate
rubo77

11

Не нужно декомпилировать исполняемый файл! Просто попросите «найти» :-)

Для обновленной версии bb / locate (GNU findutils) 4.6.0 попробуйте вызвать

locate --statistics

Для меня (на Cygwin) это дает что-то вроде

Database /var/locatedb is in the GNU LOCATE02 format.
Database was last modified at 2017:03:13 22:44:31.849172100 +0100
Locate database size: 6101081 bytes
All Filenames: 202075
File names have a cumulative length of 22094021 bytes.
Of those file names,

    2591 contain whitespace,
    0 contain newline characters,
    and 20 contain characters with the high bit set.
Compression ratio 72.39% (higher is better)

10

В Debian база данных locate хранится по умолчанию в

/var/cache/locate/locatedb

Если вы используете в mlocateкачестве поискового индексатора:

База данных mlocate хранится в

/var/lib/mlocate/mlocate.db

см .: Как я могу просмотреть содержимое базы данных updatedb, а затем исключить определенные файлы / пути?


locate --statistics - это строка cmd, чтобы указать, где находится любая система
MikeRoger

6

Я предпочитаю просто ускорить процесс, так как он приведет вас прямо туда. Это не зависит от распространения и работает, если у вас нет man-страниц.

# strace updatedb 2>&1 |grep ^open|grep db

open("/etc/updatedb.conf", O_RDONLY)    = 3
open("/var/lib/mlocate/mlocate.db", O_RDWR) = 3
open("/var/lib/mlocate/mlocate.db.bUUaw4", O_RDWR|O_CREAT|O_EXCL, 0600) = 4

1

[УДАЛЕНО в 2017 году]: см. Ответ выше: найдите --статистические работы.

Если у вас есть /etc/updatedb.conf, вы можете посмотреть там. Я не. Вы можете прочитать справочную страницу для locate, в которой говорится, что местоположение по умолчанию - / var / cache / locate / locationb. Моего там нет. Вы можете использовать locate для поиска файлов с именем «updatedb» или «localb». Я использую Cygwin на Windows 7.


а если ты ищешь mlocate.db?
rubo77

1
@ phil-goetz Нет необходимости декомпилировать. Вы можете получить точное местоположение с помощью однострочника, если у вас установлен strace :$ sudo strace updatedb 2>&1 | grep -o "^open.*O_RDWR.*"
Cengiz Can

@Cengiz: умный! Моя база данных обновлений просто / var / locationb.
Фил Гетц
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.