де знаходиться оновлена ​​база даних?


14

Я хотів би видалити за допомогою чистки всі записи locate та її бази даних.

я намагався

apt-get purge locate

і

rm /etc/updatedb*

Але чи зникла і база даних?
Де розміщена оновлена ​​база даних на Debian скрап?

Я також хотів би видалити її вручну, щоб я міг її чисто встановити

Відповіді:


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
Це mlocate, а не locate. Хоча / var / lib / locate не є поганою здогадкою для пошуку.
Денніс Каарсемейкер

1
Я намагаюся дати як загальну пораду, так і результати наступних зазначених порад щодо моєї системи.
ptman

2
О, і, схоже, mlocate є стандартним місцеположенням на Debian.
ptman

mlocate не встановлено, а також slocate
rubo77

11

Не потрібно декомпілювати виконувану програму! Просто ласкаво запитайте "знайти" :-)

Для оновленої версії / 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 база даних локації зберігається за замовчуванням у

/var/cache/locate/locatedb

Якщо ви використовуєте mlocateяк індекс пошуку:

База даних mlocate зберігається в

/var/lib/mlocate/mlocate.db

див .: Як я можу переглянути оновлений вміст бази даних, а потім виключити певні файли / шляхи?


locate --statistics - це лінія cmd, щоб сказати, де для будь-якої системи
MikeRoger

6

Я вважаю за краще просто розшарувати процес, оскільки він вас приведе прямо туди. Це буде агностиком розповсюдження та працює, якщо у вас немає довідкових сторінок.

# 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/updateb.conf, ви можете зазирнути туди. Я не. Ви можете прочитати довідкову сторінку для пошуку, де вказано, що типовим місцем є / var / cache / locate / locatedb. Моїх немає. Ви можете використовувати locate для пошуку файлів з назвою "updatedb" або "locatedb". Я використовую Cygwin в Windows 7.


а якщо шукати mlocate.db?
rubo77

1
@ phil-goetz Декомпілювати не потрібно. Точне місце розташування можна отримати за допомогою вкладиша, якщо встановлено пробіл :$ sudo strace updatedb 2>&1 | grep -o "^open.*O_RDWR.*"
Cengiz,

@Cengiz: Розумний! Моє оновлення db просто / var / locatedb.
Філ Гец
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.