locate无法open mlocate.db
# locate xxxx
如果出现此错误,请执行updatedb
locate: can not open () `/var/lib/mlocate/mlocate.db': No such file or directory
# updatedb
#
locate xxxx
整个locate工作其实是由四部分组成的:
- /usr/bin/updatedb
- /usr/bin/locate or mlocate
- /etc/updatedb.conf
- /var/lib/mlocate/mlocate.db
updatedb主要用来更新数据库,这个工作是通过crontab自动完成的.
mlocate/locate是作来完成查询功能的程序;
updatedb.conf是配置要查询哪些目录, 哪些文件;
mlocate.db则是存放文件信息的文件;
对于mlocate.db,这是有一定格式的数据库文件. 也就是说数据库文件是由头和数据组成. 文件开始的8byte是magic
number, 其值是\0mlocate, 接下来的4byte是配置文件的大小,以大端模式存放. 然后1byte是文件格式版本,目前为0.
再1byte是可见性标记(0或1), 接下来是2byte的填充字节和以SMNUL结尾的根目录名数据库文件.
所以对于mlocate.db的读取需要遵循这一格式. header接下是配置块. 其作用是当配置文件更新后,确保过期数据库不会被使用.
配置块的大小是在文件头以bytes为单位存放. 配置块是一系列的以变量名排序的变量分配区.
每个变量分配是由变量名和顺序的列表,它们都已SMNUL为结束符. 变量列表是由两个NUL字符结束的. 排序的规则是基于strcmp()结果的.
当前定义的变量有:
prume_bind_mounts: 单节点, PRUNE_BIND_MOUNTS的值;
prunefs: PRUNEFS的值,每个节点转换为大写;
prunepaths: PRUNEPATHS的值;
文件接下来的内容一直到文件末尾描述了目录和内容. 每个目录有一个头: 8byte目录时间(以秒为单位),4byte目录时间(以ns为单位).如果未知,则设为0, 其值小于1000000000. 4byte填充值, SMUNL目录终止符.
目录内容,是一系列的文件节点,按如下顺序排列:
目录时间是st_ctime和st_mtime的最大值. updatedb使用原始的数据如查目录时间在数据库中,并且和文件系统匹配正确. 目录时间为0,则会导致重新扫描目录. 这是必要的.
每个文件节点由单个字节开始,标记它们的类型:
- 非目录文件, 文件名以SMNUL终止;
- 子目录,文件名以SMNUL终止;
- 标记当前目录的结尾;
来自:http://www.cnblogs.com/linuxcat/archive/2012/10/16/2726904.html
locate无法open mlocate.db的更多相关文章
- locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory
# locate zabbix locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory locate ...
- locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
安装好CentOS后,第一次进入系统使用locate命令,结果出现:locate: can not stat () `/var/lib/mlocate/mlocate.db': No such fil ...
- linux updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'
我们想查找我们最新创建的文件时,由于locate的数据库是每天更新.所以我们新创建的文件还没有被更新到系统的数据库. 这是需要手动更新数据库. 然后就可以查到. updatedb 输出 updated ...
- linux错误: locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
命令 locate my.cnf 产生以上错误 此时执行 # updatedb 更新下数据库即可
- linux 学习8 权限管理
第八章 权限管理 8.1 ACL权限 8.2 文件特殊权限 8.3 文件系统属性chattr权限 8.4 系统命令sudo权限 8.1 ACL权限 ACL权限简介与开启 查看与设定ACL权限 最大有效 ...
- linux学习8 第八章 权限管理
8.1 ACL权限 8.2 文件特殊权限 8.3 文件系统属性chattr权限 8.4 系统命令sudo权限 8.1 ACL权限 ACL权限简介与开启 查看与设定ACL权限 最大有效权限与删除ACL权 ...
- Linux学习笔记(13)权限管理
1 ACL权限 (1)简介和开启方式 ACL(Access Control List)权限的目的是在提供传统的owner.group.others的read.write.execute权限之外的局部权 ...
- linux + shell 命令等
Linux命令[注意:建议用UltraEdit打开] 一.文件处理命令 1.命令格式与目录处理命令 ls –a[查看隐藏文件] ls –l[查看文件信息长格式显示] ls –d[查看指定目录的详细信息 ...
- Linux之权限管理
一.文件基本权限 1) 基本权限的修改 第一位"-"为文件类型(-代表文件:d代表目录:l代表软链接文件即快捷方式),后面每3位一组. -rw-r--r-- rw- u所有者 ...
随机推荐
- Android各组件/控件间通信利器之EventBus
实际项目开发过程中,经常遇到如下场景:不同的应用程序组件的控件间具有一定的相互关联性,其中用户对后者进行的某种操作会引起前者的相应改变.举一个具体的场景:以糗事百科为例,在糗事列表页和详情页页,对于每 ...
- 使用Maven构建RichFaces 4.x项目
使用Maven构建RichFaces 4.x项目 目录 开始之前 第一步 - 创建Maven项目 第二布 - 添加依赖文件 第三步 - 配置RichFaces 第四步 - 创建显示页面 开始之前 本文 ...
- PL/sql语法单元
1.字符集 PL/SQL的字符集包括: 所有大小写字母:包括A~Z和a~z. 数字:包括0~9. 空白字符:包括制表符.空格和回车符 其他常用英文符号 2.标识符 标识符用于定义PL/sql变量.常量 ...
- Windows Server 2003从入门到精通之Windows Media Server流媒体服务器架建[转]
今天我们来做一个windows media server流媒体格式文件的流媒体服务器. 现在市面上能够买到的一些电影文件有 rm格式和wmv格式.还有一些是DivX技术的avi格式,要想让你的服务器对 ...
- AspectJ的基本使用
参考: https://my.oschina.net/itblog/blog/208067
- redhat6.4上安装mysql
1.挂载操作系统介质 [root@server- ~]# mkdir -p /media/dvd [root@server- ~]# -20130130.0-Server-x86_64-DVD1.is ...
- android 自定义view -- 实现自定义 邮箱验证的Edittext
//onFinishInflate 当View中所有的子控件均被映射成xml后触发 /** * 实现自定义 实现邮箱验证的EidtText */public class CustomEditText ...
- Redisson-Parent 2.5.0 和 3.0.0 发布
Redisson-Parent 2.5.0 和 3.0.0 发布了,Redisson 是基于 Redis 服务之上构建的分布式.可伸缩的 Java 数据结构,高级的 Redis 客户端. Rediss ...
- Steganography-图片隐写术
今天做DAM的作业,做到图片水印的时候,想起来当初小调同学把言页之庭的种子通过图片发给我.看到下面这个新闻真是觉得碉堡了!!技术宅又一次可以成功而隐晦的表白了!!哈哈哈!! http://war.16 ...
- (转)PhoneGap开发环境搭建
(原)http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html PhoneGap开发环境搭建 项目中要用PhoneGap开发,了解 ...