.gz 文件的集合在非常特定的偏移量处被极少数字节损坏
Collection of .gz files are corrupt by a very small number of bytes at very specific offsets
我有大量文件,全部采用相同的文件格式,有时为了 space 保存而对这些文件进行 gzip 压缩。我正在整理档案以消除重复项。
对于大量重复文件(一对 gzip 压缩文件,一个常规文件),它们相差 < 20 字节,从少量文件偏移量之一开始(一个偏移量是从文件开头开始的 313656 字节) ; 另一个更常见的偏移量是 176287)。文件大小从 1MB 到 200MB 不等,未压缩。
我相信 Ubuntu Linux 版本的 gzip and/or 7zip 命令行实用程序用于压缩文件。我什至不能确定 gzipped 版本是损坏的版本。
有谁知道一种机制会产生这种特定的损坏模式,我可以 (a) 将来避免这种情况,并且 (b) 希望使用它来选择 "correct"(很可能未损坏)文件的版本?
当您解压缩该对的 gzip 成员时,您是否看到与该对的已解压缩的其他成员有几个字节不同?如果是这样,那么下一个问题是:gzip 解压缩是否没有错误消息?如果是这样,则 gzip 文件末尾的 CRC-32 值以及未压缩的长度检查为正常。在那种情况下,gzip 文件就是您应该保留的文件。
我无法知道或猜测是什么导致了未压缩文件的损坏。
我有大量文件,全部采用相同的文件格式,有时为了 space 保存而对这些文件进行 gzip 压缩。我正在整理档案以消除重复项。
对于大量重复文件(一对 gzip 压缩文件,一个常规文件),它们相差 < 20 字节,从少量文件偏移量之一开始(一个偏移量是从文件开头开始的 313656 字节) ; 另一个更常见的偏移量是 176287)。文件大小从 1MB 到 200MB 不等,未压缩。
我相信 Ubuntu Linux 版本的 gzip and/or 7zip 命令行实用程序用于压缩文件。我什至不能确定 gzipped 版本是损坏的版本。
有谁知道一种机制会产生这种特定的损坏模式,我可以 (a) 将来避免这种情况,并且 (b) 希望使用它来选择 "correct"(很可能未损坏)文件的版本?
当您解压缩该对的 gzip 成员时,您是否看到与该对的已解压缩的其他成员有几个字节不同?如果是这样,那么下一个问题是:gzip 解压缩是否没有错误消息?如果是这样,则 gzip 文件末尾的 CRC-32 值以及未压缩的长度检查为正常。在那种情况下,gzip 文件就是您应该保留的文件。
我无法知道或猜测是什么导致了未压缩文件的损坏。