Provided by: lrzip_0.651-2ubuntu1_amd64 bug

NAME

       lrzip - a large-file compression program

SYNOPSIS

       lrzip [OPTIONS] <file>
       lrzip -d [OPTIONS] <file>
       lrunzip [OPTIONS] <file>
       lrzcat [OPTIONS] <file>
       lrztar [lrzip options] <directory>
       lrztar -d [lrzip options] <directory>
       lrzuntar [lrzip options] <directory>
       lrz [lrz options] <directory>
       LRZIP=NOCONFIG [lrzip|lrunzip] [OPTIONS] <file>

DESCRIPTION

       LRZIP  is  a file compression program designed to do particularly well on very large files
       containing  long  distance  redundancy.   lrztar  is  a  wrapper  for  LRZIP  to  simplify
       compression and decompression of directories.

OPTIONS SUMMARY

       Here is a summary of the options to lrzip.

       General options:
        -c, --check             check integrity of file written on decompression
        -d, --decompress        decompress
        -e, --encrypt[=password] password protected sha512/aes128 encryption on compression
        -h, -?, --help          show help
        -H, --hash              display md5 hash integrity information
        -i, --info              show compressed file information
        -q, --quiet             don't show compression progress
        -Q, --very-quiet        don't show any output
        -r, --recursive         operate recursively on directories
        -t, --test              test compressed file integrity
        -v[v], --verbose        Increase verbosity
        -V, --version           show version
       Options affecting output:
        -D, --delete            delete existing files
        -f, --force             force overwrite of any existing files
        -k, --keep-broken       keep broken or damaged output files
        -o, --outfile filename  specify the output file name and/or path
        -O, --outdir directory  specify the output directory when -o is not used
        -S, --suffix suffix     specify compressed suffix (default '.lrz')
       Options affecting compression:
        -b, --bzip2             bzip2 compression
        -g, --gzip              gzip compression using zlib
        -l, --lzo               lzo compression (ultra fast)
        -n, --no-compress       no backend compression - prepare for other compressor
        -z, --zpaq              zpaq compression (best, extreme compression, extremely slow)
       Low level options:
        -L, --level level       set lzma/bzip2/gzip compression level (1-9, default 7)
        -N, --nice-level value  Set nice value to value (default 19)
        -p, --threads value     Set processor count to override number of threads
        -m, --maxram size       Set maximum available ram in hundreds of MB
                                overrides detected amount of available ram
        -T, --threshold         Disable LZ4 compressibility testing
        -U, --unlimited         Use unlimited window size beyond ramsize (potentially much slower)
        -w, --window size       maximum compression window in hundreds of MB
                                default chosen by heuristic dependent on ram and chosen compression

       LRZIP=NOCONFIG environment variable setting can be used to bypass lrzip.conf.
       TMP environment variable will be used for storage of temporary files when needed.
       TMPDIR may also be stored in lrzip.conf file.

       If no filenames or "-" is specified, stdin/out will be used.

OPTIONS

General options

       -c     This   option   enables   integrity  checking  of  the  file  written  to  disk  on
              decompression. All decompression is tested internally in lrzip with either crc32 or
              md5  hash  checking  depending  on the version of the archive already.  However the
              file written to disk may be corrupted for other reasons to do with other  userspace
              problems  such  as  faulty  library  versions, drivers, hardware failure and so on.
              Enabling this option will make lrzip perform an md5 hash check on the  file  that's
              written to disk. When the archive has the md5 value stored in it, it is compared to
              this. Otherwise it is compared to the value calculated during  decompression.  This
              offers  an  extra  guarantee  that  the  file  written  is the same as the original
              archived.

       -d     Decompress. If this option is not used then lrzip looks at the name used to  launch
              the   program.  If  it  contains  the  string  "lrunzip"  then  the  -d  option  is
              automatically set. If it contains the string "lrzcat" then the -d -o - options  are
              automatically set.

       -e

       --encrypt[=password]
              Encrypt.  This option enables high grade password encryption using a combination of
              multiply sha512 hashed password, random salt and aes128 CBC encryption.   Passwords
              up  to  500  characters  long  are  supported,  and  the  encryption mechanism used
              virtually guarantees that the same file created with the same password  will  never
              be  the  same. Furthermore, the password hashing is increased according to the date
              the file is encrypted, increasing the  number  of  CPU  cycles  required  for  each
              password  attempt  in  accordance  with  Moore's law, thus making the difficulty of
              attempting brute force attacks proportional to the power of modern computers.

       -h|-?  Print an options summary page

       -H     This shows the md5 hash value calculated on compressing or decompressing  an  lrzip
              archive.  By default all compression has the md5 value calculated and stored in all
              archives since version 0.560. On decompression, when an md5 value has  been  found,
              it  will  be  calculated  and used for integrity checking.  If the md5 value is not
              stored in the archive, it will not be calculated unless explicitly  specified  with
              this option, or check integrity (see below) has been requested.

       -i     This  shows  information about a compressed file. It shows the compressed size, the
              decompressed size, the compression ratio, what compression was used and  what  hash
              checking  will  be used for internal integrity checking.  Note that the compression
              mode is detected from the first block only and it will show no compression used  if
              the  first  block  was  incompressible,  even if later blocks were compressible. If
              verbose options -v or -vv are added, a breakdown of all  the  internal  blocks  and
              progressively more information pertaining to them will also be shown.

       -q     If  this option is specified then lrzip will not show the percentage progress while
              compressing. Note that compression happens in bursts with lzma compression which is
              the  default  compression.  This means that it will progress very rapidly for short
              periods and then stop for long periods.

       -Q     If this option is specified then lrzip will not show  any  output  to  the  console
              except for error messages.

       -r     If  this  option  is  specified,  lrzip  will  recursively  enter  the  directories
              specified, compressing  or  decompressing  every  file  individually  in  the  same
              directory.  Note  for better compression it is recommended to instead combine files
              in a tar file rather than compress them separately, either  manually  or  with  the
              lrztar helper.

       -t     This  tests  the  compressed  file integrity. It does this by decompressing it to a
              temporary file and then deleting it.

       -v[v]  Increases verbosity. -vv will print more messages than -v.

       -V     Print the lrzip version number

Options affecting output

       -D     If this option is specified then lrzip will delete the source file after successful
              compression  or  decompression.  When  this option is not specified then the source
              files are not deleted.

       -f     If this option is not  specified  (Default)  then  lrzip  will  not  overwrite  any
              existing  files. If you set this option then rzip will silently overwrite any files
              as needed.

       -k     This option will keep broken or damaged  files  instead  of  deleting  them.   When
              compression  or  decompression  is  interrupted  either by user or error, or a file
              decompressed fails an integrity check, it is normally deleted by LRZIP.

       -o     Set the output file name. If this option is not set then the output  file  name  is
              chosen based on the input name and the suffix. The -o option cannot be used if more
              than one file name is specified on the command line.

       -O     Set the output directory for the default filename. This option cannot  be  combined
              with -o.

       -S     Set the compression suffix. The default is '.lrz'.

Options affecting compression

       -b     Bzip2 compression. Uses bzip2 compression for the 2nd stage, much like the original
              rzip does.

       -g     Gzip compression. Uses gzip compression for the 2nd stage. Uses libz  compress  and
              uncompress functions.

       -l     LZO  Compression.  If  this  option  is  set then lrzip will use the ultra fast lzo
              compression algorithm for the 2nd stage. This mode of compression gives bzip2  like
              compression  at  the  speed  it would normally take to simply copy the file, giving
              excellent compression/time value.

       -n     No 2nd stage compression. If this option is set then lrzip will  only  perform  the
              long  distance  redundancy  1st stage compression. While this does not compress any
              faster than LZO compression, it produces a smaller file that then  responds  better
              to  further  compression (by eg another application), also reducing the compression
              time substantially.

       -z     ZPAQ compression. Uses ZPAQ compression which is from the PAQ family of compressors
              known for having some of the highest compression ratios possible but at the cost of
              being extremely slow on both compress and decompress (4x slower than lzma which  is
              the default).

Low level options

       -L 1..9
              Set  the  compression level from 1 to 9. The default is to use level 7, which gives
              good all round compression. The compression level is also strongly related  to  how
              much memory lrzip uses. See the -w option for details.

       -N value
              The  default  nice  value  is  19.  This  option  can  be  used to set the priority
              scheduling for the lrzip backup or decompression. Valid nice values are from -20 to
              19. Note this does NOT speed up or slow down compression.

       -p value
              Set  the  number  of  processor  count  to  determine the number of threads to run.
              Normally lrzip will scale according to the number of CPUs it  detects.  Using  this
              will  override  the  value in case you wish to use less CPUs to either decrease the
              load on your machine, or to improve compression. Setting  it  to  1  will  maximise
              compression but will not attempt to use more than one CPU.

       -T     Disables  the LZ4 compressibility threshold testing when a slower compression back-
              end is used. LZ4 testing is normally performed for the slower back-end  compression
              of  LZMA  and ZPAQ. The reasoning is that if it is completely incompressible by LZ4
              then it will also be incompressible by them. Thus if a block fails to be compressed
              by the very fast LZ4, lrzip will not attempt to compress that block with the slower
              compressor, thereby saving time. If this option is enabled, it will bypass the  LZ4
              testing and attempt to compress each block regardless.

       -U     Unlimited  window  size.  If this option is set, and the file being compressed does
              not fit into the available ram, lrzip will use a moving second buffer as a "sliding
              mmap"  which  emulates  having  infinite  ram.  This will provide the most possible
              compression in the first rzip stage which can  improve  the  compression  of  ultra
              large   files  when  they're  bigger  than  the  available  ram.  However  it  runs
              progressively slower the larger the difference between ram and the file size, so is
              best  reserved for when the smallest possible size is desired on a very large file,
              and the time taken is not important.

       -w n   Set the maximum allowable compression window size to n in  hundreds  of  megabytes.
              This  is  the  amount  of  memory  lrzip will search during its first stage of pre-
              compression and is the main thing that will determine how much benefit  lrzip  will
              provide  over  ordinary  compression  with  the  2nd  stage  algorithm.  If not set
              (recommended), the value chosen will be determined  by  an  internal  heuristic  in
              lrzip  which uses the most memory that is reasonable, without any hard upper limit.
              It is limited to 2GB on 32bit machines. lrzip will always reduce the window size to
              the biggest it can be without running out of memory.

INSTALLATION

       "make install" or just install lrzip somewhere in your search path.

COMPRESSION ALGORITHM

       LRZIP operates in two stages. The first stage finds and encodes large chunks of duplicated
       data over potentially very long distances in the input file. The second stage is to use  a
       compression algorithm to compress the output of the first stage. The compression algorithm
       can be chosen to be optimised for extreme size (zpaq), size (lzma - default), speed (lzo),
       legacy  (bzip2 or gzip) or can be omitted entirely doing only the first stage. A one stage
       only compressed file can almost always improve both the compression size and speed done by
       a subsequent compression program.

       The  key  difference  between  lrzip  and  other  well known compression algorithms is its
       ability to take advantage of  very  long  distance  redundancy.  The  well  known  deflate
       algorithm  used  in gzip uses a maximum history buffer of 32k. The block sorting algorithm
       used in bzip2 is limited to 900k of history. The history buffer in lrzip can be  any  size
       long, not even limited by available ram.

       It  is  quite  common  these  days  to  need  to compress files that contain long distance
       redundancies. For example, when compressing a set of home directories several users  might
       have  copies  of  the  same  file,  or of quite similar files. It is also common to have a
       single file that contains large duplicated chunks over long distances, such as  pdf  files
       containing  repeated  copies of the same image. Most compression programs won't be able to
       take advantage of this redundancy, and thus might achieve a much lower  compression  ratio
       than lrzip can achieve.

FILES

       LRZIP  recognises a configuration file that contains default settings.  This configuration
       is searched for in the current directory, /etc/lrzip, and $HOME/.lrzip. The  configuration
       filename must be lrzip.conf.

ENVIRONMENT

       By  default,  lrzip will search for and use a configuration file, lrzip.conf.  If the user
       wishes to bypass the file, a startup ENV variable may be set.
       LRZIP = NOCONFIG [lrzip|lrunzip] [OPTIONS] <file>
       which will force lrzip to ignore the configuration file.

HISTORY - Notes on rzip by Andrew Tridgell

       The ideas behind rzip were first implemented in 1998 while I was working  on  rsync.  That
       version was too slow to be practical, and was replaced by this version in 2003.  LRZIP was
       created by the desire to have better compression and/or speed by Con Kolivas  on  blending
       the  lzma  and  lzo  compression  algorithms  with the rzip first stage, and extending the
       compression windows to scale with increasing ram sizes.

BUGS

       Nil known.

SEE ALSO

       lrzip.conf(5), lrunzip(1), lrzcat(1), lrztar(1), lrzuntar(1), lrz(1),  bzip2(1),  gzip(1),
       lzop(1), rzip(1), zip(1)

DIAGNOSTICS

       Exit status is normally 0; if an error occurs, exit status is 1, usage errors is 2.

AUTHOR and CREDITS

       lrzip is being extensively bastardised from rzip by Con Kolivas.
       rzip was written by Andrew Tridgell.
       lzma was written by Igor Pavlov.
       lzo was written by Markus Oberhumer.
       zpaq was written by Matt Mahoney.
       Peter  Hyman  added informational output, updated LZMA SDK, and added lzma multi-threading
       capabilities.

       If you wish to report a problem, or  make  a  suggestion,  then  please  consult  the  git
       repository at: https://github.com/ckolivas/lrzip

       lrzip  is  released  under  the GNU General Public License version 2.  Please see the file
       COPYING for license details.

                                          February 2022                                  lrzip(1)