我读的是的"L"(76)焦油条目类型所使用的GNU tar和兼容GNU焦油公用事业表明,在归档中的下一个项目有一个"长"的名字.在这种情况下,条目类型为"L"的标题块通常编码名称././@LongLink.
我的问题是:描述的下一个块的格式在哪里?
tar存档的格式非常简单:它只是一系列512字节的块.在正常情况下,tar存档中的每个文件都表示为一系列块.第一个块是标题块,包含文件名,条目类型,修改时间和其他元数据.然后使用所需的512字节块来跟随原始文件数据.然后是下一个条目.
如果文件名长于适合标题块中分配的空间,gnu tar显然使用了所谓的"././@LongLink技巧".我找不到它的准确描述.
当条目类型为"L"时,我如何知道"长"文件名有多长?长名称是否限制为512字节,换句话说,什么适合一个块?
最重要的是:这在哪里记录?
我想知道是否有人知道Ruby的rubyzip替代品,可以处理各种格式,特别是zip/rar/7z?
我知道libarchive,但它并不完全符合我的目的(这是一个很好的宝石).(澄清,libarchive - 对我不起作用 - 因为我需要能够在Windows上运行.(是的,我知道很难成为我)) Libarchive实际上适用于Windows,但仍然不适合我的目的(7zip& rar格式支持)
现在我最终运行系统命令到操作系统,但我想要一些独立于操作系统的东西,并且能够处理这些格式 - 读写.
谢谢