我读到gnu tar 和符合 gnu 的 tar 实用程序使用 tar 条目类型 'L' (76) 来指示存档中的下一个条目具有“长”名称。在这种情况下,条目类型为“L”的标题块通常编码名称 ././@LongLink 。
我的问题是:下一个块的格式在哪里描述?
tar 存档的格式非常简单:它只是一系列 512 字节的块。在正常情况下,tar 存档中的每个文件都表示为一系列块。第一个块是头块,包含文件名、条目类型、修改时间和其他元数据。然后是原始文件数据,根据需要使用尽可能多的 512 字节块。然后是下一个条目。
如果文件名长于头块中分配的空间,gnu tar 显然使用了所谓的“././@LongLink 技巧”。我找不到它的准确描述。
当条目类型为“L”时,我如何知道“长”文件名有多长?长名称是否限制为 512 字节,换句话说,任何内容都可以放在一个块中?
最重要的是:这在哪里记录?