Man 是 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
配置选项的含义:
告诉 man 在 /etc 目录里找配置文件 man.conf
编译软件包:
make
安装软件包:
make install
如果你在一个不支持某些类似于颜色和粗体这样的文本属性的终端上工作,你可以通过编辑 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