6.48. Man-1.5p

Man 软件包包含用于查找和查看 man pages 的程序。

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

6.48.1. Man 的安装

需要对 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 选项的含义

-confdir=/etc

这告诉 man 程序查找man.conf目录中的配置文件/etc目录。

编译软件包

make

安装软件包

make install
[Note]

注意

如果您将在不支持文本属性(如颜色和粗体)的终端上工作,您可以通过编辑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

6.48.2. Man 的内容

已安装的程序: apropos、makewhatis、man、man2dvi、man2html 和 whatis

简短描述

apropos

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

makewhatis

构建 whatis 数据库;它读取MANPATH中的所有 man pages,并在 whatis 数据库中为每个页面写入名称和简短描述

man

格式化并显示请求的在线 man page

man2dvi

将 man page 转换为 dvi 格式

man2html

将 man page 转换为 HTML

whatis

搜索 whatis 数据库,并显示包含给定关键字作为单独单词的系统命令的简短描述