为什么/var/lib/mlocate.db将近800 MB?


17

我可以做些什么吗?我的磁盘空间不足。


可能看起来像一个奇怪的问题,但是:如何找到文件的大小?
ulidtko 2011年

该数据库可以存储为稀疏文件,因此实际磁盘使用情况可能与ls和报告的有很大差异du
ulidtko 2011年

Answers:


28

在我用作备份服务器的系统之一上,mlocate.db达到9GB。解决方案是从目录中排除备份目录,因为我不需要搜索它们。

我通过将备份目录添加到 PRUNEPATHS中来完成此操作的/etc/updatedb.conf

运行sudo updatedb后将其减小到1.6MB(并为所有这些文件建立索引节省了大量时间)。


完美,谢谢。刚从800MB增加到100MB,但更重要的是,updateb命令现在可以很快完成,而之前还需要几天时间。(但是请注意,根据/etc/cron.daily/mlocate上的脚本,它仅在计算机没有电池供电且使用低优先级IO时才运行。)
mlissner,

哇9 GB降至1.6 MB!
WinEunuuchs2Unix

9

如果您的计算机上有很多文件,则可能需要考虑从数据库中修剪一些路径。您可以在PRUNEPATHS下的/etc/updatedb.conf中执行此操作。您也可以修剪文件系统(如果需要,可以像nfs一样)。


2

800MB听起来差不多。我的/var/lib/mlocate/mlocate.db仅约8MB(在10.04发布日期重新安装)。您可以安全地删除它,如果运行sudo updatedb,它将被重新创建。


谢谢,那工作。运行sudoupdatedb后,现在为620MB。编辑:哎呀,我读错了。620MB意味着它不起作用(我以为我在文件输出中读取了KB)。
Evencoil 2011年

您有多少个文件?您的磁盘大小是多少?
Lekensteyn 2011年

1
真的那么大吗?MB大小:“ du -m /var/lib/mlocate/mlocate.db”

也都duls有一个-h-h,--human-readable`:标志`print sizes in human readable format (e.g., 1K 234M 2G)
belacqua

确实有那么大...我确实在多个硬盘驱动器上有很多非常小的文件(与某些数据工作相关),所以也许这就是原因。编辑:我还保留许多备份...是否有一种方法可以从索引器中排除目录?可能为这些备份建立索引是个大问题。
evencoil

-1

它是根目录中所有文件的数据库。由locate实用程序使用。如果删除此文件,则定位将不再起作用。


真的应该那么大吗?
evencoil

它不应该那么大。最可能您的主目录中有很多文件。您可以删除它,然后让更新再次运行。
user4124 2011年

如果我删除它,它将在某个时候自动重新创建吗?
Evencoil 2011年

当您运行“ updatedb”命令时,它将重新创建
binW 2011年

它似乎还可以作为日常任务重新创建?
evencoil
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.