GNU info是一个文档阅读器,默认包含了GNU项目的许多软件的文档比如coreutils,findutils,sed等等,但是也会遇到一些软件的文档在info中没有的问题。本文简单描述了在info文档库中添加软件文档的方法。

首先,要添加文档到info库中,我们需要先有文档(written by someone)。以GNU tar软件为例(假设你的info库中没有这个软件的文档),首先到gnu官网www.gnu.org上找寻tar的文档。地址是https://www.gnu.org/software/tar/manual/,这里提供了texinfo, info, HTML, ASCII text等多种格式的文档。info软件使用的是info格式的文档。下载(https://www.gnu.org/software/tar/manual/tar.info.tar.gz)。

第二步,把这个文档添加到info程序读取info文档的默认位置。在ubuntu20.04上,默认位置是/usr/share/info。

第三步,修改/usr/share/info/dir文件。dir文件是info文档的Top结点,存储了所有结点的目录结构。当使用info命令的时候,展现的就是dir文件的内容,把要安装文档的信息添加到这个文件后才能在info目录中查看到。可以手动修改,规则需要查看文档(info install-info);或者使用install-info命令自动修改dir文件。ubuntu20.04上默认只安装了info stand-alone reader,要使用install-info需要安装Texinfo。使用命令:sudo apt-get install texinfo。安装好后,使用sudo install-info /usr/share/info/tar.info.tar.gz /usr/share/info/dir即可自动修改dir文件内容。

使用info命令查看,可发现已经有tar的目录项了。

备注:

info与texinfo是两种不同的文档格式,可以使用makeinfo将texinfo转换为info格式。

info文档是以结点的形式呈现的文档,结点组织成树的层级结构,很方便阅读。

dir文件也是一个info文件,这个文件表示的是info文档树中的Top结点,记录着目录信息。