Man 软件包包含用于查找和查看 man pages 的程序。
需要对 Man 的源代码进行两项调整。
第一项是使用 sed 替换,将 -R 开关添加到PAGER变量,以便 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
configure 选项的含义
这告诉 man 程序查找man.conf目录中的配置文件/etc目录。
编译软件包
make
安装软件包
make install
如果您将在不支持文本属性(如颜色和粗体)的终端上工作,您可以通过编辑man.conf文件并在NROFF变量中添加 -c 选项来禁用选择图形再现 (SGR) 转义序列。如果您在一台计算机上使用多种终端类型,则最好为不支持 SGR 的终端选择性地添加GROFF_NO_SGR环境变量。
如果区域设置的字符集使用 8 位字符,请在/etc/man.conf中搜索以 “NROFF” 开头的行,并验证它是否与以下内容匹配
NROFF /usr/bin/nroff -Tlatin1 -mandoc
请注意,即使 “latin1” 不是区域设置的字符集,也应使用它。原因是,根据规范,groff 无法排版国际标准化组织 (ISO) 8859-1 之外的字符,除非使用一些奇怪的转义代码。在格式化 man pages 时,groff 认为它们是 ISO 8859-1 编码,并且此 -Tlatin1 开关告诉 groff 对输出使用相同的编码。由于 groff 不对输入字符进行重新编码,因此格式化结果实际上与输入编码相同,因此它可以作为 pager 的输入使用。
这不能解决非 ISO 8859-1 区域设置中本地化 man pages 的 man2dvi 程序无法工作的问题。此外,它不适用于多字节字符集。第一个问题目前没有解决方案。第二个问题无关紧要,因为 LFS 安装不支持多字节字符集。
有关 man 和 info pages 压缩的更多信息,请参见 BLFS 书籍,网址为 http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/compressdoc.html。