bzip2

Z Multimediaexpo.cz


bzip2 je svobodný komprimační algoritmus a program vyvinutý Julianem Sewardem. První verzi (0.15) vydal v červenci 1996. Stabilita a popularita programu od té doby značně vzrostla. Verze 1.0 byla vydána na konci roku 2000.

Obsah

Efektivita komprese

U většiny souborů pracuje bzip2 efektivněji (tedy produkuje menší soubory) než tradiční algoritmus Deflate používaný u archivních formátů gzip nebo ZIP, ale je pomalejší. V tomto ohledu je dost podobný dalším moderním kompresním algoritmům. Na rozdíl od formátů jako RAR nebo ZIP (a podobně jako gzip), bzip2 neumí pracovat s více soubory, zkomprimovat dokáže pouze jeden soubor. Tento princip vychází ze základů unixu, programy jako tar nebo GNU tar spojí více souborů dohromady a bzip2 tento soubor pak zkomprimuje.

V některých případech formáty jako 7z a RAR překonávají bzip2, alespoň co se týče absolutního kompresního poměru. Vzhledem k tomu, že díky Moorovu zákonu se stává procesorový čas méně a méně důležitý, tyto algoritmy se stávají populárnější než dřív.

bzip2 používá Burrows-Wheelerovu transformaci, která konvertuje často se opakující znakové sekvence do řetězců ze stejných písmen a poté použije move-to-front transformaci a nakonec Huffmanovo kódování.

Původně používal předek bzip2 – bzip – aritmetické kódování, které má mírně lepší kompresní poměr. To ale muselo být vyměněno za méně výkonné Huffmanovo kódování, protože aritmetické kódování je patentováno.

Použití

Přepínače jsou většinou stejné jako u programu gzip. Pro extrakci komprimovaného tar souboru použijte:

bzip2 -cd archivnisoubor.tar.bz2 | tar -xvf -

Pro vytvoření komprimovaného tar souboru:

tar -cvf - jmenasouboru | bzip2 -9 > archivnisoubor.tar.bz2

GNU tar podporuje -j přepínač, který umožňuje vytvoření bzip2 komprimovaného tar souboru bez nutnosti použití roury:

tar -cvjf archivnisoubor.tar.bz2 seznam-souboru

Dekomprese v programu GNU tar:

tar -xvjf archivnisoubor.tar.bz2

Související články

Externí odkazy