Почему /var/lib/mlocate.db почти 800 МБ?


17

Могу ли я что-нибудь с этим сделать? У меня заканчивается свободное место на диске.


Может показаться странным вопросом, но: как вы узнаете размер файла?
ulidtko

База данных может храниться в виде разреженного файла, и, следовательно, реальное использование диска может значительно отличаться от того, о котором сообщили lsи du.
ulidtko

Ответы:


28

На одной из моих систем, которая действует как сервер резервного копирования, mlocate.db достиг 9 ГБ. Решением было исключить каталоги резервных копий из локации, так как мне не нужно было их искать.

Я сделал это, добавив каталог резервного копирования PRUNEPATHSв /etc/updatedb.conf.

Запуск, а sudo updatedbзатем уменьшил его до 1,6 МБ (и экономит огромное количество времени на индексацию всех этих файлов).


Отлично спасибо. Просто перешел с 800 МБ до 100 МБ, но, что более важно, команда updatedb может завершиться очень быстро, тогда как раньше это занимало дни. (Тем не менее, обратите внимание, что он работает только тогда, когда компьютер не работает от батареи, и использует низкоприоритетный ввод-вывод, согласно сценарию в /etc/cron.daily/mlocate.)
mlissner

Ничего себе 9 ГБ до 1,6 МБ!
WinEunuuchs2Unix

9

Если у вас есть много-много файлов на вашем компьютере, вы можете удалить некоторые пути из базы данных. Вы можете сделать это в /etc/updatedb.conf в разделе PRUNEPATHS. Вы также можете удалить файловые системы (например, nfs, если хотите).


2

800 МБ звучит довольно много. Мой /var/lib/mlocate/mlocate.db занимает всего около 8 МБ (новая установка на дату выпуска 10.04). Вы можете безопасно удалить его, если вы запустите sudo updatedb, он будет воссоздан.


спасибо, что сработало. После запуска sudo updatedb теперь она составляет 620 МБ. редактировать: ой я прочитал это неправильно. 620 МБ означало бы, что это не работает (я думал, что я прочитал КБ на моем выходном файле).
Evencoil

Сколько у вас файлов? Какой у тебя размер диска?
Лекенштейн

1
Это действительно так большой? Размер в МБ: 'du -m /var/lib/mlocate/mlocate.db'

Также как duи lsесть -hфлаг `: -h, --human-readable`print sizes in human readable format (e.g., 1K 234M 2G)
belacqua

Он действительно такой большой ... У меня есть много очень маленьких файлов (связанных с некоторыми данными) на нескольких жестких дисках, так что, возможно, именно поэтому. редактировать: я также храню много резервных копий ... Есть ли способ исключить каталоги из индексатора? Вероятно, индексация этих резервных копий - большая проблема.
Evencoil

-1

Это база данных всех файлов в вашем корневом каталоге. Используется утилитой locate. если вы удалите этот файл, locate больше не будет работать.


это действительно должно быть таким большим?
Evencoil

Это не должно быть таким большим. Скорее всего, у вас есть много файлов в вашем домашнем каталоге. Вы можете стереть его, а затем снова запустить обновление.
user4124

если я сотру его, он будет воссоздан автоматически в какой-то момент?
Evencoil

он будет воссоздан при запуске команды «updatedb»
binW

кажется, также воссоздать как ежедневное задание?
Evencoil
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.