为什么/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”

也都du和ls有一个-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.