Scroll to navigation

TARLZ(1) User Commands TARLZ(1)

NAME

tarlz - creates lzip-compressed fec-protected tar archives

SYNOPSIS

tarlz operation [options] [files]

DESCRIPTION

Tarlz is a massively parallel (multithreaded) combined implementation of the tar archiver and the lzip compressor. Tarlz uses the compression library lzlib.

Tarlz creates safer tar archives by 1) using a simplified and safer variant of the POSIX pax format compressed in lzip format, 2) keeping the alignment between tar members and lzip members, and 3) optionally appending a recovery record to the archive. The resulting multimember tar.lz archive is backward compatible with standard tar tools like GNU tar, which treat it like any other tar.lz archive. Tarlz can append files to the end of such compressed archives.

Keeping the alignment between tar members and lzip members has two advantages. It adds an indexed lzip layer on top of the tar archive, making it possible to decode the archive safely in parallel. It also reduces the amount of data lost in case of corruption.

Tarlz protects the archives with Forward Error Correction by automatically calling lziprecover to create or update a recovery record or a fec file for each archive. It is recommended to create a recovery record or a fec file for each archive that needs to be stored on an unreliable medium or transmitted through an unreliable channel. In case of damage, the archive can be repaired with the command 'lziprecover --fec=repair archive.tar.lz'.

The tarlz file format is a safe POSIX-style backup format. In case of corruption, tarlz can extract all the undamaged members from the tar.lz archive, skipping over the damaged members, just like the standard (uncompressed) tar. Moreover, the option '--keep-damaged' can be used to recover as much data as possible from each damaged member, and lziprecover can be used to recover some of the damaged members.

Operations:

-?, --help
display this help and exit
output version information and exit
append archives to the end of an archive
create a new archive
find differences between archive and file system
delete files/directories from an archive
append files to the end of an archive
list the contents of an archive
extract files/directories from an archive
compress existing POSIX tar archives
check version of lzlib and exit
print the size of time_t in bits and exit

OPTIONS

set target size of input data blocks [2x8=16 MiB]
change to directory <dir>
use archive file <archive>
append recovery record or create fec file
follow symlinks; archive the files they point to
set number of (de)compression threads [2]
compress/extract to <file> ('-' for stdout)
compress/extract to standard output
don't subtract the umask on extraction
suppress all messages
don't operate recursively on directories
operate recursively on directories (default)
get file names from <file>
verbosely list files processed
-0 .. -9
set compression level [default 6]
create an uncompressed archive
create solidly compressed appendable archive
create per block compressed archive (default)
create per directory compressed archive
create per file compressed archive
create solidly compressed archive
equivalent to '--owner=root --group=root'
use <owner> name/ID for files added to archive
use <group> name/ID for files added to archive
don't write owner or group names to archive
archive entries before the directory itself
exclude files matching a shell pattern
print file times to 1-nanosecond resolution
ignore differences in owner and group IDs
compare only file size and file content
ignore mtime overflow differences on 32-bit
don't delete partially extracted files
keep, pad with zeros partially extracted files
exit with error status if missing extended CRC
set mode of files added to the archive
stay in local file system when creating archive
use <date> as mtime for files added to archive
number of 1 MiB output packets buffered [64]
create uncompressed archive in parallel
print file modification times in UTC
warn if any file is newer than the archive

If no archive is specified, tarlz tries to read it from standard input or write it to standard output. Numbers may contain underscore separators between groups of digits and may be followed by a SI or binary multiplier: 1_234_567kB, 4KiB. The argument to --fec=append and --fec=create may be a number of blocks (-Fa20), a percentage (-Fa5%), or a size in bytes (-Fa10KiB), and may be optionally followed by a comma-separated FEC fragmentation level (default 9) and a FEC unit block size in bytes (-Fa1%,0) (-Fc16,,1024)

EXIT STATUS

0 for a normal exit, 1 for environmental problems (file not found, files differ, invalid command-line options, I/O errors, etc), 2 to indicate a corrupt or invalid input file, 3 for an internal consistency error (e.g., bug) which caused tarlz to panic.

REPORTING BUGS

Report bugs to lzip-bug@nongnu.org
Tarlz home page: http://www.nongnu.org/lzip/tarlz.html

COPYRIGHT

Copyright © 2026 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Using lzlib 1.16 Using LZ_API_VERSION = 1016

SEE ALSO

The full documentation for tarlz is maintained as a Texinfo manual. If the info and tarlz programs are properly installed at your site, the command

info tarlz

should give you access to the complete manual.

October 2026 tarlz 0.31