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

17

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

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

Ответы:

28

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

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

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

user76225
источник
Отлично спасибо. Просто перешел с 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, он будет воссоздан.

Lekensteyn
источник
спасибо, что сработало. После запуска 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 больше не будет работать.

binW
источник
это действительно должно быть таким большим?
Evencoil
Это не должно быть таким большим. Скорее всего, у вас есть много файлов в вашем домашнем каталоге. Вы можете стереть его, а затем снова запустить обновление.
user4124
если я сотру его, он будет воссоздан автоматически в какой-то момент?
Evencoil
он будет воссоздан при запуске команды «updatedb»
binW
кажется, также воссоздать как ежедневное задание?
Evencoil