名 称
manpath - 格 式 化 /etc/manpath.config 文 件
描 述
manpath 配 置 文 件 是 手 册 页 工 具 程 序 用 来 在 运 行 时 访 问 用 户 的 manpath 的 。 它 指 示 了 哪 些 手 册 页 层 次 结 构 (manpath)应 视 为 系 统 层 次 结 构 , 并 向 它 们 分 配 用 于 保 存 cat 文 件 的 目 录 。 如 果 已 经 设 置 了 环 境 变 量 $MANPATH, /etc/manpath.config 中 包 含 的 信 息 不 会 覆 盖 它 。
搜 索 路 径
默 认 情 况 下 , man-db 检 查 用 户 的 $PATH。 对 每 个 找 到 的 path_element, 它 会 将 manpath_element 添 加 至 搜 索 路 径 。 如 果 对 于 一 个 给 定 的 path_element 在 配 置 文 件 中 不 存 在 对 应 的 MANPATH_MAP 行 , 则 它 将 添 加 path_element/../man、 path_element/man、 path_element/../share/man 和 path_element/share/man 这 些 路 径 中 所 有 存 在 的 目 录 至 搜 索 路 径 中 。 在 此 之 后 , 它 将 添 加 配 置 文 件 中 所 有 的 MANDATORY_MANPATH 条 目 至 搜 索 路 径 中 。 最 后 , 如 果 使 用 了 --systems 选 项 或 设 置 了 $SYSTEM 环 境 变 量 , 它 们 应 该 包 含 使 用 英 文 逗 号 或 冒 号 分 隔 的 操 作 系 统 名 称 的 列 表 。 它 将 作 为 模 板 , 并 再 一 次 扩 展 为 搜 索 路 径 以 访 问 其 它 操 作 系 统 的 手 册 页 : 对 于 每 一 个 系 统 名 称 , man-db 将 查 找 搜 索 路 径 下 给 定 条 目 为 名 称 的 子 目 录 , 并 在 其 存 在 的 情 况 下 将 其 添 加 到 最 终 的 搜 索 路 径 中 。 若 系 统 名 称 为 man, 则 将 使 用 通 常 的 、 不 带 子 目 录 的 搜 索 路 径 。 例 如 , 如 果 搜 索 路 径 原 先 为 /usr/share/man:/usr/local/man 且 $SYSTEM 被 设 置 为 newOS:man, 则 最 终 的 搜 索 路 径 将 为 /usr/share/man/newOS:/usr/share/man:/usr/local/man/newOS:/usr/local/man。
$MANPATH 环 境 变 量 会 覆 盖 man-db 的 默 认 手 册 页 搜 索 路 径 。 大 部 分 用 户 不 应 该 需 要 对 此 进 行 设 置 。 其 语 法 类 似 $PATH 环 境 变 量 : 它 包 含 一 个 目 录 名 称 的 序 列 , 并 使 用 冒 号 进 行 分 隔 。 它 会 覆 盖 上 文 所 述 的 默 认 搜 索 路 径 。 如 果 $MANPATH 使 用 冒 号 开 头 , 则 默 认 搜 索 路 径 将 添 加 到 其 开 头 位 置 。 如 果 $MANPATH 使 用 冒 号 结 尾 , 则 默 认 搜 索 路 径 将 添 加 到 其 结 束 位 置 。 如 果 变 量 的 值 包 含 双 冒 号 ( ::) , 则 默 认 搜 索 路 径 将 插 入 到 两 个 冒 号 之 间 。
格 式
当 前 支 持 以 下 字 段 类 型 :
# 注 释 空 行 或 以 |
# 开 头 的 行 将 视 为 注 释 并 忽 略 。 |
MANDATORY_MANPATH manpath_element
这 种 形 式 的 行
指 定 每 个 自 动
生 成 的 $MANPATH 应 包
含 的 manpath。 它 通 常
包 含 /usr/man。
MANPATH_MAP path_element manpath_element
这 种 形 式 的 行
将 设 置 $PATH 到
$MANPATH 的 映 射 。 对
于 在 用 户 $PATH 中
找 到 的 每 个
path_element, 会 将
manpath_element 添 加 到
$MANPATH。
MANDB_MAP manpath_element [
catpath_element ] 这 种 形 式
的 行 指 示 哪 些
manpath 视 为 系 统 manpath,
还 可 指 定 它 们
的 cat 文 件 保 存 在
哪 里 。 如 果 man
是 一 个 setuid 程 序 ,
此 字 段 类 型 将
尤 为 重 要 , 因
为 (当 在 系 统 配
置 文 件 /etc/manpath.config 而
不 是 每 个 用 户
配 置 文 件 .manpath 中
时 )它 指 示 哪 些
手 册 页 层 次 结
构 作 为 setuid 用 户 访
问 , 哪 些 作 为
调 用 用 户 访 问
。 系 统 手 册 页
层 次 结 构 通 常
保 存 在 /usr 下 ,
如 /usr/man, /usr/local/man 和
/usr/X11R6/man。 如 果 来
自 某 个 特 定
manpath_element 的 cat 页 面
不 保 存 , 或 保
存 在 传 统 位 置
, 可 以 忽 略
catpath_element。 传 统 的
cat 保 存 位 置 无 法
处 理 只 读 方 式
挂 臷 的 手 册 页
层 次 结 构 , 因
此 (考 虑 到 这 种
情 况 ), 可 以 指
定 任 何 有 效 的
目 录 层 次 结 构
来 存 储 cat。 要 观
察 Linux FSSTND, 可 以
在 实 际 目 录 的
位 置 使 用 关 键
词 “FSSTND”。 不
幸 的 是 , 需 要
指 定 所 有 系 统
man 目 录 树 的 路 径
, 包 括 替 代 的
操 作 系 统 路 径
, 如 /usr/man/sun 和 任
何 的 NLS 区 域 语
言 路 径 , 如
/usr/man/de_DE.88591。 由 于
是 按 写 的 顺 序
逐 行 解 析 的 ,
因 此 必 须 先 列
出 作 为 另 一 层
次 结 构 的 次 级
结 构 的 manpath, 否 则
会 出 现 不 正 确
的 匹 配 。 例 如
, /usr/man/de_DE.88591 应 出
现 在 /usr/man 之 前 。
DEFINE 键 值 这
种 形 式 的 行 定
义 各 种 配 置 变
量 ; 请 查 看 默
认 的 配 置 文 件
了 解 手 册 分 页
工 具 使 用 了 哪
些 变 量 。 它 们
包 括 指 向 各 种
程 序 的 路 径 (如
grep 和 tbl), 和 这
些 程 序 的 默 认
参 数 集 。
SECTION 章 节 ... 这 种
形 式 的 行 定 义
手 册 章 节 的 搜
索 顺 序 。 如 果
配 置 文 件 中 没
有 SECTION 指 令 , 默
认 为 :
SECTION 1 n l 8 3 0 2 3type 5 4 9 6 7 如 果 给 出 了 多 个 SECTION 指 令 , 它 们 的 章 节 列 表 会 被 合 并 。 如 果 某 个 特 定 扩 展 不 在 列 表 中 (像 1mh), 它 会 和 它 所 属 章 节 的 其 他 部 分 一 起 显 示 。 这 样 的 效 果 是 , 若 要 强 制 某 种 特 定 的 顺 序 , 您 只 需 明 确 列 出 扩 展 。 带 扩 展 的 章 节 通 常 应 该 与 其 主 章 节 相 邻 (如 “1 1mh 8 ...)。
SECTIONS 是 此 指 令 的 替 代 名 称 , 也 允 许 使 用 。
MINCATWIDTH 宽
度 如 果 终 端 宽
度 小 于 宽 度 ,
将 不 会 创 建 (若
缺 少 )或 显 示 cat 页
面 。 默 认 值 为
80。
MAXCATWIDTH 宽 度 如
果 终 端 宽 度 大
于 宽 度 , 将 不
会 创 建 (若 缺 少
)或 显 示 cat 页 面 。
默 认 值 为 80。
CATWIDTH 宽 度 如 果
宽 度 是 非 零 的
, 对 指 定 宽 度
的 终 端 将 总 是
格 式 化 cat 页 面 ,
不 管 实 际 使 用
的 终 端 宽 度 是
多 少 。 此 数 值
将 覆 盖 MINCATWIDTH 和
MAXCATWIDTH。
NOCACHE 此 标 志 阻 止
man(1) 自 动 创 建 cat
页 面 。
BUGS
除 非 完 全 准 确 的 遵 守 了 这 些 规 则 , 否 则 手 册 分 页 工 具 会 工 作 不 正 常 。 这 些 规 则 过 于 复 杂 了 。
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db