我注意到有些软件附带多个信息文件。例如,tar
Fedora 21 上带有:
tar.info.gz
tar.info-1.gz
tar.info-2.gz
文件是否tar-info-*
与主文件有某种依赖关系tar.info.gz
?这个划分对每个发行版来说都是独特的吗?
官方好像是这样说的GNU tar 手册页,信息 tarball 包含一个文件,所以我不确定 和-1
来自-2
哪里。
答案1
如前所述,这样做最初是为了减小尺寸。它记录在23.1.5 标记文件和分割文件(GNU Texinfo 6.0):
如果一个德克萨斯信息网文件超过30000字节,
texinfo-format-buffer
自动为其创建标签表信息文件;makeinfo
总是创建一个标签表。有了标签表,信息可以比其他方式更快地跳转到新节点。此外,如果德克萨斯信息网文件包含超过约300,000字节,
texinfo-format-buffer
并makeinfo
分割大信息文件分成较短的间接子文件,每个子文件大约 300,000 字节。大文件被分割成更小的文件,以便Emacs不需要创建一个大的缓冲区来容纳整个大的信息文件;反而,Emacs为当时需要的小型分离文件分配足够的内存。这边走,Emacs避免运行时浪费内存信息。 (在实施拆分之前,信息文件始终保持较短,并且包含文件被设计为从较小的信息文件中创建单个大型印刷手册的方式。请参阅包含文件, 了解更多信息。包含文件仍然用于非常大的文档,例如Emacs Lisp 参考手册,其中每一章都是一个单独的文件。)
拆分功能非常古老。例如,当texinfo
更改日志第一次提到它时1993年,该功能可能已添加前变更日志始于 1988 年:
Tue Feb 2 08:38:06 1993 Noah Friedman ([email protected])
* info/Makefile.in: Replace all "--nosplit" arguments to makeinfo
with "--no-split"