bzip2
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.
Vývojář | Julian Seward |
---|---|
Aktuální verze | 1.0.8 (13. července 2019) |
Operační systém | multiplatformní |
Vyvíjeno v | ANSI C |
Typ softwaru | kompresní program |
Licence | licence BSD |
Web | www.bzip.org |
Některá data mohou pocházet z datové položky. |
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 Mooreovu 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á Burrowsovu–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
- (anglicky) Domovská stránka pro bzip2 a libbzip2
- (anglicky) bzip2 pro Windows