bzip2 曾经是事实上的多年来已经成为相当强的压缩标准。bzip2
到目前为止,我自己已经输入了数千次该命令,这让我想知道 - bzip 或 bzip1 发生了什么?谷歌似乎没有告诉我太多关于它的信息,听起来这可能是一个有趣的历史课。
答案1
由于所使用的算术压缩的专利问题,原始版本似乎bzip
在 1998 年左右被撤下。稍微挖掘一下(实际上只阅读维基百科)就会发现一个指向该版本的存档链接bzip2
大约这个时间的网站。
以下是相关部分详细介绍了这一点和其他差异:
它与您之前的产品 (bzip-0.21) 有何关系?
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我如今。
我不再分发 0.21,因为这样做会导致专利问题永久化,从而确保该程序永远不会被广泛使用。这很遗憾,因为它是一个有用的程序,而且很多人似乎都喜欢它。如果您已经使用 0.21,请升级到 bzip2。不幸的是,我无法使 bzip2 能够解压缩 0.21 的 .bz 文件,因为这会使专利规避活动变得毫无意义。我知道更改文件格式是痛苦的;从现在开始,我将尝试以向后兼容的方式进行进一步的更改。
这也是一个关联bzip
为任何想要使用它的人提供仅解压版本的源代码。