bz 文件与 bz2 不同吗?如何制作 bz 文件而不是 bz2?

bz 文件与 bz2 不同吗?如何制作 bz 文件而不是 bz2?

bz 文件与 .bz2 不同吗?我猜测 bz2 是 bz 的后继者,也许它们使用不同的压缩算法,或者它们本质上是表示相同含义的文件名后缀?

bzip2(1) 显然没有提到 bz 和 bz2 文件之间的区别,但它确实提到了这一点:

Bunzip2(或 bzip2 -d)解压缩所有指定的文件。不是由 bzip2 创建的文件将被检测并忽略,并发出警告。

bzip2 尝试根据压缩文件的文件名猜测解压缩文件的文件名,如下所示:

    filename.bz2    becomes   filename
      filename.bz     becomes   filename
      filename.tbz2   becomes   filename.tar
      filename.tbz    becomes   filename.tar
      anyothername    becomes   anyothername.out

* bz 文件与 bz2 文件不同吗?如果不同,如何制作 bz 文件?

答案1

他们是不同的。bzip2是 的重写版本bzip,经过重新设计以避免原始版本的潜在专利问题bzip。这旧主页有详细信息:

bzip2 是 0.21 的重写和重新设计版本。它表面上看起来相当相似,但几乎完全被重写了(好几次:-)。重要的区别是:

  • 无专利! (我希望;参见上面的声明)。 bzip-0.21 使用算术编码; bzip2 使用霍夫曼编码,从专利的角度来看,这通常被认为没有问题。这两个程序都基于 Burrows-Wheeler 变换,但据我所知,这也没有获得专利。

  • 更快,特别是在减压时。 bzip2 解压缩速度比 0.21 快 50% 以上,这主要是因为使用了霍夫曼编码。我还提高了压缩速度,尽​​管没有那么多——也许它的压缩速度比 0.21 快了 30%。

  • 从介质错误中恢复。这两个程序都以块的形式压缩数据,默认长度为 900k。使用 bzip2,每个块都完全独立处理,带有自己的校验和,并由 48 位序列分隔。因此,如果您的压缩文件已损坏,bzip2 可以提取压缩块,检测哪些未损坏,然后解压缩它们。

  • 测试模式。您可以测试压缩文件的完整性,而无需解压缩它们。我真的应该把它放在 0.21 中,但我太懒了(当我发布它时,我已经被黑客搞得精疲力竭了)。

  • 更好地处理非常重复的文件。对于任何块排序压缩器来说,此类文件都是最坏的情况。对于此类文件,bzip2 的运行速度比 0.21 快大约十倍。

  • 支持较小的机器。 bzip2 可以解压缩它创建的任何 2300k 的文件,这意味着您可以在 4-meg 机器上解压缩文件。与 0.21 相比,压缩期间的峰值内存使用量也减少了约 900k,达到约 6400k。

  • 更好的标志处理。特别是,支持长标志(--like --this),这使得它更易于使用。

  • 0.21 打印的一行启动消息消失了。这是 0.21 中最受抱怨的功能。甚至还有bug如今。

要制作bz文件,您需要获取旧bzip压缩器并使用它。没有真正的理由这样做......

相关内容