Lbzip2 is a parallel, SMP-based, bzip2-compatible compression utility, with a commandline resembling that of the original bzip2. It is usable both on its own and as a filter passed to GNU tar with the "--use-compress-program" option. It uses Gnulib, and its building and testing process is managed by the GNU build system. Starting with release 2.0, lbzip2 is independent of libbz2 and features yambi, an independent BWT compression stack with improved speed and robustness.
| Tags | Archiving Compression Alpha |
|---|---|
| Licenses | GPLv3+ |
| Operating Systems | POSIX GNU/Linux |
| Implementation | C |
| Translations | English |
Last announcement
Dear lbzip2 project Subscribers,
if you know about software distributions shipping lbzip2 (either officially or as a user contribution) that are...
Recent releases


Release Notes: The decompressor was made more bzip2-compatible. All valid bzip2 files should now be properly decompressed by lbzip2. Memory allocation was reduced significantly. Compression performance was improved by the inclusion of new block-sorting code using the divsufsort algorithm. This version also fixes a few other minor bugs.


Release Notes: This release fixes a use-after-free security vulnerability introduced in version 2.0. All users are recommended to update to version 2.1.


Release Notes: In this release, lbzip2 writes a single compressed stream per bz2 file instead of multiple concatenated streams. It doesn't decompress streams embedded within trailing garbage. It detects and rejects more kinds of invalid bz2 files. Relying on the independent bzip2 stack written by the new maintainer, lbzip2-2.0 features significantly improved (de)compression speed and robustness. In verbose mode, the compression ratio and progress information is displayed for each file. Decompression failures result in more detailed messages now. Lbzip2-2.x is licensed under the GPL v3.0 or any later version.


Release Notes: In this release, if lbzip2 intends to exit with status 1 due to any fatal error, but any SIGPIPE or SIGXFSZ with an inherited SIG_DFL action was generated for lbzip2 previously, then lbzip2 terminates by way of one of the said signals, after cleaning up any interrupted output file. This should improve compatibility with GNU tar when it spawns lbzip2 as a filter and closes the pipe between them early, before it receives an EOF from lbzip2.


Release Notes: Building lbzip2 on Debian Unstable showed that the "lfs.sh" build script, due to a typo, did not invoke the "getconf" utility in a SUSv2-conformant way. This bug has been corrected.
Recent comments
16 May 2013 03:22
lbzip2 is such a great program, it outperforms all other bzip2 implementations!
I've run some test on a E5-2620 BOX (dual cpu, six core each) on a 1.04GB file.
bzip2 : Piped 1.04 GB in 00h02m25.37s: 7.36 MB/second
pbzip2 : Piped 1.04 GB in 00h00m11.81s: 90.55 MB/second
lbzip2 : Piped 1.04 GB in 00h00m05.85s: 182.79 MB/second
lbzip2 is a clear winner.
The compressed file is compatible with bzip2.
I don't see any reason why not to use lbzip2 in place of bzip2
Great job kjn!