Provided by: man-db_2.6.7.1-1ubuntu1_amd64
NAME
mandb - 创建或更新手册页索引缓存
概述
mandb [-dqsucpt?V] [-C file] [manpath] mandb [-dqsut] [-C 文件] -f 文件名 ...
描述
mandb 用于初始化或手动更新 索引 数据库缓存(通常由 man 维护)。缓存包含与手册页系统当前状态 相关的信息;保存在缓存中的这些信息被 man-db 工具用来提高速度和增强功能。 当创建或更新 索引时,mandb 会警告错误的 ROFF .so 请求,假的手册页名称和手册页,whatis 无法 解析它们。 给 mandb 提供可选的,以冒号分隔的路径会覆盖内部的系统手册页层次结构搜索路径,这些路径是从 man-db 配置文件中的信息确定的。
数据库缓存
mandb 可以编译支持以下任何一种数据库类型。 名称 类型 异步 文件名 ──────────────────────────────────────────────────── Berkeley db 二叉树 是 index.bt GNU gdbm v >= 1.6 已散列 是 index.db GNU gdbm v < 1.6 已散列 否 index.db UNIX ndbm 已散列 否 index.(dir|pag) 那些提供异步更新的数据库速度更快,但代价是可能在异常中止时损坏数据。万一这种事情发生,可能 要重新运行 mandb 加 -c 选项来重新创建数据库。
选项
-d, --debug 打印调试信息。 -q, --quiet 不发出警告。 -s, --no-straycats 不花时间查找或向数据库添加有关野猫(stray cats)的信息。 -p, --no-purge 不花时间检查删除的手册页并从数据库中清理它们。 -c, --create 默认情况下,mandb 会尝试更新任何以前创建的数据库。如果某个数据库不存在,程序会创建 它。此选项强制 mandb 删除以前的数据库并重新生成数据库,并隐含打开 --no-purge。在数 据库损坏或将来引入新数据库存储方案时,这一选项可能用到。 -u, --user-db 只创建用户数据库,即使有创建系统数据库所需的写权限。 -t, --test 对层次结构搜索路径中的手册页执行正确性检查。使用此选项时,mandb 不会更改现有的数据 库。 -f, --filename 只更新指定文件名对应的记录。此选项不作常规使用;它由 man 内部使用(以 MAN_DB_UPDATES 选项编译时),查找页面是否过期。它隐含打开 -p,关闭 -c 和 -s。 -C 文件, --config-file=文件 使用此用户配置文件代替默认的 ~/.manpath。 -?, --help 显示用法消息,然后退出。 --usage Print a short usage message and exit. -V, --version 显示版本,然后退出。
退出状态
0 程序成功执行。 1 用法、语法或配置文件错误。 2 操作出错。 3 子进程失败。
诊断
在构建数据库时可能会发出以下警告消息。 <文件名>: 页面(章节) 的 whatis 解析失败 从给定 <文件名> 提取 whatis 行失败。这通常是由于手册编写不当导致的。但如果出现了大 量这种消息,则可能是系统包含非标准的,和 man-db whatis 解析器不兼容的手册页。请参阅 lexgrog(1) 中的 WHATIS PARSING 一节了解更多信息。 <文件名>: 是一个空符号(dangling)链接 <文件名>不存在,但被一个符号链接引用。通常会给出进一步的诊断信息,识别出非法链接的 <文件名>。 <文件名>: 错误的符号链接或 ROFF `.so' 请求 <文件名> 是指向不存在的文件的符号链接,或包含带有请求不存在文件的 ROFF。 <文件名>: 将忽略假(bogus)文件名 <文件名> 可能是或不是有效的手册页,但它的名称是无效的。这通常是由于手册页包含章节扩 展 <x> 却被放在了手册页章节 <y>。 <文件名掩码>: 扩展冲突 通配符 <文件名掩码> 不唯一。这通常是同时存在同一手册页的压缩和非压缩版本导致的。
文件
/etc/manpath.config man-db 配置文件。 /var/cache/man/index.(bt|db|dir|pag) 与 FHS 兼容的全局 索引 数据库缓存。 包含的数据库缓存的较早位置: /usr/man/index.(bt|db|dir|pag) 传统的全局 索引 数据库缓存。 /var/catman/index.(bt|db|dir|pag) 替代的或 FSSTND 兼容的全局 索引 数据库缓存。
亦见
lexgrog(1), man(1), manpath(5), catman(8) 此手册页中的 WHATIS PARSING 小节现在是 lexgrog(1) 的一部分。
作者
Wilf. (G.Wilford@ee.surrey.ac.uk). Fabrizio Polacco (fpolacco@debian.org). Colin Watson (cjwatson@debian.org).