Qual é o propósito dos arquivos de informação numerados?

3

Eu notei que alguns softwares vêm com vários arquivos de informação. Por exemplo, tar no Fedora 21 vem com:

  • tar.info.gz
  • tar.info-1.gz
  • tar.info-2.gz

As dependências dos arquivos tar-info-* são de algum tipo para o arquivo principal tar.info.gz ? Esta divisão é única para cada distro?

Parece que na página de manual do GNU tar oficial , o tarball de Informações contém um único arquivo, Não tenho certeza de onde vêm os -1 e -2 .

    
por Tianxiang Xiong 29.12.2015 / 08:42

1 resposta

2

Como observado, isso foi feito originalmente para reduzir o tamanho. Está documentado em 23.1.5 Marcar arquivos e dividir arquivos (GNU Texinfo 6.0):

If a Texinfo file has more than 30,000 bytes, texinfo-format-buffer automatically creates a tag table for its Info file; makeinfo always creates a tag table. With a tag table, Info can jump to new nodes more quickly than it can otherwise.

In addition, if the Texinfo file contains more than about 300,000 bytes, texinfo-format-buffer and makeinfo split the large Info file into shorter indirect subfiles of about 300,000 bytes each. Big files are split into smaller files so that Emacs does not need to make a large buffer to hold the whole of a large Info file; instead, Emacs allocates just enough memory for the small, split-off file that is needed at the time. This way, Emacs avoids wasting memory when you run Info. (Before splitting was implemented, Info files were always kept short and include files were designed as a way to create a single, large printed manual out of the smaller Info files. See Include Files, for more information. Include files are still used for very large documents, such as The Emacs Lisp Reference Manual, in which each chapter is a separate file.)

O recurso de divisão é muito antigo. Por exemplo, quando o texinfo change-log primeiro o menciona em 1993 , o recurso pode ter sido adicionado antes o log de mudanças ter começado em 1988:

Tue Feb  2 08:38:06 1993  Noah Friedman  ([email protected])

        * info/Makefile.in: Replace all "--nosplit" arguments to makeinfo
        with "--no-split"
    
por 29.12.2015 / 11:40

Tags