locate命令故障的解决

locate是一个系统命令,用于建立文件索引,当我们需要寻找什么文件的时候，只要敲入

locate xxx

它就会搜索全系统中匹配这个名字的文件。但是在某个新的机器里面,我locate某文件,始终显示如下的错误信息:

locate: can not stat ()
`/var/lib/mlocate/mlocate.db': No such file or directory

其实你只要man下它，看到description就可以知道一些端倪:

locate reads one or more databases prepared by updatedb(8) and writes file names matching at least one of the PATTERNs to standard output, one per line.

它的内容其实是存储在/var/lib/mlocate/下的一个数据库里面,而没有初始化,自然就会出错，只要

updatedb

等执行完毕,检查那个目录

root@argcv ~]# ls -al /var/lib/mlocate/
total 10456
drwxr-x--- 2 root slocate 4096 Jun 23 13:58 .
drwxr-xr-x 26 root root 4096 Jun 23 13:28 ..
-rw-r----- 1 root slocate 10698443 Jun 23 13:58 mlocate.db

然后就正常了…

References:

‘locate’ command not working [SOLVED]