mandb -
创建或更新手册页索引缓存
mandb [
-dqsucpt?V|
-h|
-V] [
-C
文件] [
manpath]
mandb [
-dqsut] [
-C 文件]
-f
文件名 ...
mandb
用于初始化或手动更新
索引
数据库缓存。缓存包含与手册页系统当前状态相关的信息;保存在缓存中的这些信息被
man-db
工具用来提高速度和增强功能。
当创建或更新
索引时,
mandb
会警告错误的 ROFF .so
请求,无效的手册页名称和手册页,因为
whatis 无法解析它们。
给
mandb
提供可选的,以冒号分隔的路径会覆盖内部的系统手册页层次结构搜索路径,这些路径是从
man-db
配置文件中的信息确定的。
mandb
可以编译支持以下任何一种数据库类型。
名称 |
异步 |
文件名 |
|
Berkeley db |
是 |
index.bt |
GNU gdbm |
是 |
index.db |
UNIX ndbm |
否 |
index.(dir|pag) |
那些提供异步更新的数据库速度更快,但代价是可能在异常中止时损坏数据。万一这种事情发生,可能要重新以
-c 选项运行
mandb
来重建数据库。
-
-d, --debug
- 打印调试信息。
-
-q, --quiet
- 不显示警告。
-
-s, --no-straycats
- 不花时间查找或向数据库添加有关孤立
cat 页面的信息。
-
-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
- 打印简短的帮助消息并退出。
-
-V, --version
- 显示版本号,然后退出。
- 0
- 程序成功执行。
- 1
- 用法、语法或配置文件错误。
- 2
- 操作出错。
- 3
- 子进程失败。
在构建数据库时可能会显示以下警告消息。
- <文件名>:
页面(章节) 的 whatis
解析失败
- 从给定 <文件名>
提取 whatis
行失败。这通常是由于手册编写不当导致的。但如果出现了大量这种消息,则可能是系统包含非标准的,和
man-db whatis
解析器不兼容的手册页。请参阅
lexgrog(1) 中的 WHATIS PARSING
一节了解更多信息。
- <文件名>:
是一个的无效的符号链接
- <文件名>不存在,但被一个符号链接引用。通常会给出进一步的诊断信息,识别出非法链接的
<文件名>。
- <文件名>:
错误的符号链接或 ROFF `.so'
请求
- <文件名>
是指向不存在的文件的符号链接,或包含带有请求不存在文件的
ROFF。
- <文件名>:
将忽略假的文件名
- <文件名>
可能是或不是有效的手册页,但它的名称是无效的。这通常是由于手册页包含章节扩展
<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. ([email protected]).
Fabrizio Polacco ([email protected]).
Colin Watson ([email protected]).
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db