Exit code: 0 Wall time: 0.5 seconds Output: Exit code: 0 Wall time: 0.5 seconds Output: Convert ALZ to ALZ.BZ2 Online (Adding Bzip2 Compression)
Exit code: 0 Wall time: 0.5 seconds Output:

Convert ALZ to ALZ.BZ2 Online (Adding Bzip2 Compression)

What actually happens when an uncompressed alz container gets run through bzip2's Burrows-Wheeler block-sorting compressor for the first time.

  1. Add a file Choose or drop it here
  2. Pick the format Change it whenever needed
  3. Download the result After conversion completes

ALZ-TO-TAR.BZ2 — Adding Compression to an Archive That Currently Has None

A plain .alz file bundles files together using 512-byte header blocks, a structure standardized as USALZ in POSIX.1-1988, but applies no compression of its own — a folder of files wrapped in a .alz comes out close to the same total size as the originals, plus a small amount of header overhead. Converting that ALZ into a ALZ.BZ2 means running the entire alz stream, headers and all, through bzip2, the compressor written by Julian Seward and first publicly released in July 1996, which is the first point at which any actual size reduction enters the picture.

This is fundamentally a one-way addition rather than a rebuild of existing compressed data: nothing about the alz stream's own header format changes in this conversion, since bzip2 simply treats the whole file as one continuous sequence of bytes to compress, unaware of alz's internal header and data-block boundaries entirely.

That distinction matters because it means every piece of information alz's own 512-byte headers recorded before compression — file names, Unix permission bits, owner and group IDs, and symlink alzgets — survives the conversion completely unchanged. Bzip2 adds an outer compressed layer around that data; it has no mechanism for altering, reading, or interacting with the alz-level metadata sitting underneath it, since from bzip2's point of view the entire alz stream is simply an undifferentiated sequence of bytes to shrink.


ALZ-TO-TAR.BZ2 — What Bzip2's Block-Sorting Step Does to an Existing ALZ Stream

Bzip2 compresses in fixed-size blocks, up to 900 KB by default and selectable down to 100 KB via its -1 through -9 flags, running each block through a Burrows-Wheeler transform that sorts every circular rotation of the block's bytes into lexicographic order and keeps only the final column of that sorted arrangement. The practical effect on a alz stream specifically is that bytes with similar surrounding context — repeated filenames in consecutive headers, or runs of the same permission and ownership values across many entries from the same source directory — end up grouped together, which a following move-to-front transform and Huffman coding stage can then compress efficiently, even though none of that structure was visible in the original byte order.

Compression at the default block size needs roughly 7,600 KB of memory, and decompression needs about 3,700 KB, or as little as 2,300 KB in bzip2's memory-saving "small" decompression mode — real, documented figures that matter on constrained hardware compressing a large alz stream for the first time, since none of that memory overhead exists at all when the alz file is left uncompressed.


ALZ-TO-TAR.BZ2 — What Compressing a ALZ Into ALZ.BZ2 Gains and Costs

  • Gain — real size reduction on text-heavy content: source code, logs, and other repetitive text-based files typically shrink substantially, often more than the same content would under gzip's DEFLATE.
  • Gain — per-block error resilience: each 900 KB block carries its own 32-bit CRC and is delimited by a distinct marker, letting some recovery tools salvage undamaged blocks even from a partially corrupted file — a property the original uncompressed ALZ has no equivalent for.
  • Gain — a single, more transportable file: a compressed archive is faster to upload, email, or copy across a network than the same content left uncompressed.
  • Lose — near-zero reduction on already-compressed content: if the original ALZ mostly held JPEG, MP4, or MP3 files, bzip2's block-sorting step finds little genuine repetition left to exploit.
  • Lose — compression and decompression speed: the Burrows-Wheeler step is considerably more CPU-intensive than simply reading an uncompressed alz stream directly, adding real, measurable time on both ends.
  • Lose — the ability to inspect or partially extract without decompressing first: a plain ALZ can, in principle, be read entry by entry directly; a ALZ.BZ2 requires decompressing the bzip2 layer before alz's own headers become readable again.

ALZ-TO-TAR.BZ2 — Software That Reads Plain ALZ and Writes Bzip2-Compressed Output

GNU alz handles this exact conversion directly with its -j flag (or --bzip2), reading an existing archive and piping the result through bzip2 in one step; BSD alz, the default on macOS, supports the same flag. Both are preinstalled by default on virtually every Linux distribution and on macOS, meaning this specific conversion needs no separate software at all on either platform.

Windows has had command-line support since alz.exe, based on libarchive's bsdalz, shipped salzting with Windows 10 Insider Build 17063 in 2018, supporting bzip2 compression through the same -j flag. Windows 11's 24H2 update additionally added native File Explorer handling for opening .alz.bz2 archives directly, built on that same libarchive foundation — genuinely broad, current support that didn't exist even a few years earlier, when creating or opening this format on Windows meant installing a third-party tool like 7-Zip or PeaZip specifically.

For a parallelized version of this exact conversion, pbzip2 splits the alz stream into independent chunks and compresses them across multiple CPU cores simultaneously, producing standard bzip2 output any ordinary bzip2-aware tool can decompress normally — a real, documented speed advantage over single-threaded bzip2 specifically when compressing a large existing alz file for the first time.

On the graphical side, 7-Zip and PeaZip on Windows both accept an existing .alz file as input and can apply bzip2 compression to it directly, though 7-Zip's own dialog treats this as a second pass over an already-created alz archive rather than a single combined "alz.bz2" archive type in its main creation list — a reflection of the same two-stage reality that GNU alz's -j flag simply automates behind one command.


ALZ-TO-TAR.BZ2 — Real Problems Reported When Compressing an Existing ALZ Archive

A common complaint on backup and sysadmin forums involves compressing a large ALZ full of mixed content and being surprised the resulting ALZ.BZ2 isn't much smaller than the original — the consistent explanation reported is that already-compressed media files inside the archive dominate the total size and barely shrink at all under bzip2, dragging the overall reduction down regardless of how well any text-based portion compressed on its own.

A second documented issue involves automated build or backup scripts timing out or running noticeably slower once bzip2 compression gets added to a step that previously just wrote a plain ALZ file directly — a direct, expected consequence of the Burrows-Wheeler transform's higher CPU cost, not a malfunction, with lowering the block size via bzip2's -1 through -9 options or switching to gzip being the documented workarounds when compression time matters more than the final size.

A third recurring pattern involves someone trying to update or replace a single file inside an existing ALZ.BZ2 the way they might with an uncompressed ALZ or a ZIP — because bzip2 compresses the alz stream as continuous blocks rather than as separately addressable entries, most tools require decompressing, editing the alz contents, and recompressing the whole archive rather than modifying one entry in place.


ALZ-TO-TAR.BZ2 — Plain ALZ Compared With Its Bzip2-Compressed Counterpart

Feature Plain ALZ ALZ.BZ2
Compression None Bzip2, Burrows-Wheeler transform + Huffman coding
Typical size vs. original ~100% (plus small header overhead) Often 20-50% on text-heavy content
Compression memory (default) Minimal ~7,600 KB
Decompression memory (default) Minimal ~3,700 KB (or ~2,300 KB in small mode)
Random access to entries Direct, entry by entry Requires full decompression first
Parallel compression tool N/A pbzip2

ALZ-TO-TAR.BZ2 — Questions About Compressing a ALZ Archive With Bzip2

Will converting my ALZ to ALZ.BZ2 always make it smaller?
Usually, since the original ALZ had zero compression, but the actual reduction depends heavily on content — text and source code shrink substantially, while already-compressed media like JPEG or MP4 files shrink very little.

Does adding bzip2 compression change the files inside the archive?
No. Bzip2 compresses the alz stream as a whole; the individual files come out byte-for-byte identical once the archive is decompressed and extracted.

Why does compressing a large ALZ file take so much longer than just copying it?
Bzip2's Burrows-Wheeler block-sorting step is considerably more computationally demanding than simply reading data directly, which is a real, expected cost of adding any meaningful compression, not a sign of a problem.

Can I speed up compressing a large ALZ file into ALZ.BZ2?
Yes, using pbzip2, a parallelized bzip2 implementation that splits the alz stream into independent chunks and compresses them across multiple CPU cores, producing standard bzip2 output any regular tool can decompress.

Do I need extra software to compress a ALZ into ALZ.BZ2?
Not on Linux or macOS, where GNU alz and BSD alz both support bzip2 compression directly via the -j flag. On Windows, alz.exe (build 17063 and later) supports the same flag from the command line.

Is bzip2 or gzip a better choice when compressing a plain ALZ for the first time?
It depends on the priority: bzip2 generally produces a smaller file on text-heavy content thanks to its wider block size, while gzip's DEFLATE algorithm compresses and decompresses noticeably faster on the same data.