6.48. Man-1.5p

Man 是 man 手册页查看器。

预计编译时间: 0.1 SBU
所需磁盘空间: 2.9 MB
安装依赖于: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Sed

6.48.1. 安装 Man

我们要对 Man 的源码做两个调整。

第一个改动是一个 sed 命令,在 PAGER 变量中加了 -R 参数,以正确的处理 Less 的转义序列:

sed -i 's@-is@&R@g' configure

第二个改动还是一个 sed 命令,注释了 man.conf 文件中的“MANPATH /usr/man”行,因为在运行像 whatis 这样的程序时它会产生多余的结果:

sed -i 's@MANPATH./usr/man@#&@g' src/man.conf.in

为编译 Man 做准备:

./configure -confdir=/etc

配置选项的含义:

-confdir=/etc

告诉 man/etc 目录里找配置文件 man.conf

编译软件包:

make

安装软件包:

make install
[Note]

注意

如果你在一个不支持某些类似于颜色和粗体这样的文本属性的终端上工作,你可以通过编辑 man.conf 文件来禁用选择图形再现(SGR)转义序列,并且为 NROFF 变量添加 -c 选项。如果你在同一台机器上使用多种类型的终端,建议你最好选择那些不支持 SGR 的终端添加 GROFF_NO_SGR 环境变量。

如果某个 locale 使用 8-bit 字符集,在 /etc/man.conf 中搜索以 “NROFF” 开头的行并检查一下它确实和下面一样:

NROFF  /usr/bin/nroff -Tlatin1 -mandoc

注意,即使“latin1”并非是 locale 使用的字符集,你也应当在这里使用它。原因是依照规范, groff 在不使用奇怪的转义码时无法排版 ISO-8859-1 字符集以外的字符。当格式化手册页(man page)时 groff 会把它当成 ISO 8859-1 编码并且这个 -Tlatin1 参数指示 groff 使用相同的编码来输出。既然 groff 并不对输入字符进行重新编码,格式化以后的结果就和输入时的编码方式是完全相同的,因此,不会对输出有什么不良影响。

这并不能解决 man2dvi 程序不能工作在非 ISO 8859-1 手册页上的问题。同时,它也不能正确地工作在多字节字符集上。第一个问题现在还没有解决办法,第二个问题也没什么意义,因为 LFS 目前并不支持多字节字符集。

关于压缩 man 和 info 页的更多信息请查看 BLFS book 的 http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/compressdoc.html

6.48.2. Man 的内容

安装的程序: apropos, makewhatis, man, man2dvi, man2html, whatis

简要描述

apropos

搜索 whatis 数据库并显示包含指定字符串的系统命令的简短描述。

makewhatis

创建 whatis 数据库。它读取变量 MANPATH 中所有的 man page 并将它们的名字和简短描述写入 whatis 数据库。

man

格式化并显示在线的手册文档。

man2dvi

转化手册文档到dvi格式。

man2html

转化手册文档到html格式。

whatis

whatis 数据库文件中查找关键字,并将包含简单的系统描述命令的结果输出到标准输出,只有完全符合的才会被输出。