| xz.txt | xz.txt | |||
|---|---|---|---|---|
| XZ(1) XZ Utils XZ (1) | XZ(1) XZ Utils XZ (1) | |||
| NAME | NAME | |||
| xz, unxz, xzcat, lzma, unlzma, lzcat - Compress or decompress .xz and | xz, unxz, xzcat, lzma, unlzma, lzcat - Compress or decompress .xz and | |||
| .lzma files | .lzma files | |||
| SYNOPSIS | SYNOPSIS | |||
| xz [option]... [file]... | xz [option...] [file...] | |||
| COMMAND ALIASES | ||||
| unxz is equivalent to xz --decompress. | unxz is equivalent to xz --decompress. | |||
| xzcat is equivalent to xz --decompress --stdout. | xzcat is equivalent to xz --decompress --stdout. | |||
| lzma is equivalent to xz --format=lzma. | lzma is equivalent to xz --format=lzma. | |||
| unlzma is equivalent to xz --format=lzma --decompress. | unlzma is equivalent to xz --format=lzma --decompress. | |||
| lzcat is equivalent to xz --format=lzma --decompress --stdout. | lzcat is equivalent to xz --format=lzma --decompress --stdout. | |||
| When writing scripts that need to decompress files, it is recommen ded | When writing scripts that need to decompress files, it is recommen ded | |||
| to always use the name xz with appropriate arguments (xz -d or xz - dc) | to always use the name xz with appropriate arguments (xz -d or xz - dc) | |||
| instead of the names unxz and xzcat. | instead of the names unxz and xzcat. | |||
| skipping to change at line 317 | skipping to change at line 318 | |||
| is the default, since it is slightly better than CRC32 at | is the default, since it is slightly better than CRC32 at | |||
| detecting damaged files and the speed difference is n eg- | detecting damaged files and the speed difference is n eg- | |||
| ligible. | ligible. | |||
| sha256 Calculate SHA-256. This is somewhat slower than CR C32 | sha256 Calculate SHA-256. This is somewhat slower than CR C32 | |||
| and CRC64. | and CRC64. | |||
| Integrity of the .xz headers is always verified with CRC32. It | Integrity of the .xz headers is always verified with CRC32. It | |||
| is not possible to change or disable it. | is not possible to change or disable it. | |||
| --ignore-check | ||||
| Don't verify the integrity check of the compressed data w | ||||
| hen | ||||
| decompressing. The CRC32 values in the .xz headers will st | ||||
| ill | ||||
| be verified normally. | ||||
| Do not use this option unless you know what you are doing. P | ||||
| os- | ||||
| sible reasons to use this option: | ||||
| o Trying to recover data from a corrupt .xz file. | ||||
| o Speeding up decompression. This matters mostly with SHA- | ||||
| 256 | ||||
| or with files that have compressed extremely well. It's r | ||||
| ec- | ||||
| ommended to not use this option for this purpose unless | ||||
| the | ||||
| file integrity is verified externally in some other way. | ||||
| -0 ... -9 | -0 ... -9 | |||
| Select a compression preset level. The default is -6. If m ul- | Select a compression preset level. The default is -6. If m ul- | |||
| tiple preset levels are specified, the last one takes effe ct. | tiple preset levels are specified, the last one takes effe ct. | |||
| If a custom filter chain was already specified, setting a c om- | If a custom filter chain was already specified, setting a c om- | |||
| pression preset level clears the custom filter chain. | pression preset level clears the custom filter chain. | |||
| The differences between the presets are more significant t han | The differences between the presets are more significant t han | |||
| with gzip(1) and bzip2(1). The selected compression setti ngs | with gzip(1) and bzip2(1). The selected compression setti ngs | |||
| determine the memory requirements of the decompressor, t hus | determine the memory requirements of the decompressor, t hus | |||
| using a too high preset level might make it painful to dec om- | using a too high preset level might make it painful to dec om- | |||
| skipping to change at line 396 | skipping to change at line 412 | |||
| o CompMem contains the compressor memory requirements in the | o CompMem contains the compressor memory requirements in the | |||
| single-threaded mode. It may vary slightly between xz v er- | single-threaded mode. It may vary slightly between xz v er- | |||
| sions. Memory requirements of some of the future mul ti- | sions. Memory requirements of some of the future mul ti- | |||
| threaded modes may be dramatically higher than that of the | threaded modes may be dramatically higher than that of the | |||
| single-threaded mode. | single-threaded mode. | |||
| o DecMem contains the decompressor memory requirements. T hat | o DecMem contains the decompressor memory requirements. T hat | |||
| is, the compression settings determine the memory requi re- | is, the compression settings determine the memory requi re- | |||
| ments of the decompressor. The exact decompressor mem ory | ments of the decompressor. The exact decompressor mem ory | |||
| usage is slighly more than the LZMA2 dictionary size, but | usage is slightly more than the LZMA2 dictionary size, | |||
| the | but | |||
| values in the table have been rounded up to the next f | the values in the table have been rounded up to the next f | |||
| ull | ull | |||
| MiB. | MiB. | |||
| -e, --extreme | -e, --extreme | |||
| Use a slower variant of the selected compression preset le vel | Use a slower variant of the selected compression preset le vel | |||
| (-0 ... -9) to hopefully get a little bit better compress ion | (-0 ... -9) to hopefully get a little bit better compress ion | |||
| ratio, but with bad luck this can also make it worse. Dec om- | ratio, but with bad luck this can also make it worse. Dec om- | |||
| pressor memory usage is not affected, but compressor mem ory | pressor memory usage is not affected, but compressor mem ory | |||
| usage increases a little at preset levels -0 ... -3. | usage increases a little at preset levels -0 ... -3. | |||
| Since there are two presets with dictionary sizes 4 MiB and | Since there are two presets with dictionary sizes 4 MiB and | |||
| skipping to change at line 436 | skipping to change at line 452 | |||
| -6, -5e, and -6e. | -6, -5e, and -6e. | |||
| --fast | --fast | |||
| --best These are somewhat misleading aliases for -0 and -9, resp ec- | --best These are somewhat misleading aliases for -0 and -9, resp ec- | |||
| tively. These are provided only for backwards compatibil ity | tively. These are provided only for backwards compatibil ity | |||
| with LZMA Utils. Avoid using these options. | with LZMA Utils. Avoid using these options. | |||
| --block-size=size | --block-size=size | |||
| When compressing to the .xz format, split the input data i nto | When compressing to the .xz format, split the input data i nto | |||
| blocks of size bytes. The blocks are compressed independen tly | blocks of size bytes. The blocks are compressed independen tly | |||
| from each other. | from each other, which helps with multi-threading and makes l | |||
| im- | ||||
| ited random-access decompression possible. This option is ty | ||||
| pi- | ||||
| cally used to override the default block size in multi-threa | ||||
| ded | ||||
| mode, but this option can be used in single-threaded mode too | ||||
| . | ||||
| In multi-threaded mode about three times size bytes will | ||||
| be | ||||
| allocated in each thread for buffering input and output. | ||||
| The | ||||
| default size is three times the LZMA2 dictionary size or 1 M | ||||
| iB, | ||||
| whichever is more. Typically a good value is 2-4 times the s | ||||
| ize | ||||
| of the LZMA2 dictionary or at least 1 MiB. Using size less t | ||||
| han | ||||
| the LZMA2 dictionary size is waste of RAM because then the LZ | ||||
| MA2 | ||||
| dictionary buffer will never get fully used. The sizes of | ||||
| the | ||||
| blocks are stored in the block headers, which a future vers | ||||
| ion | ||||
| of xz will use for multi-threaded decompression. | ||||
| In single-threaded mode no block splitting is done by defau | ||||
| lt. | ||||
| Setting this option doesn't affect memory usage. No size inf | ||||
| or- | ||||
| mation is stored in block headers, thus files created in sing | ||||
| le- | ||||
| threaded mode won't be identical to files created in mul | ||||
| ti- | ||||
| threaded mode. The lack of size information also means tha | ||||
| t a | ||||
| future version of xz won't be able decompress the files | ||||
| in | ||||
| multi-threaded mode. | ||||
| --block-list=sizes | --block-list=sizes | |||
| When compressing to the .xz format, start a new block after the | When compressing to the .xz format, start a new block after the | |||
| given intervals of uncompressed data. | given intervals of uncompressed data. | |||
| The uncompressed sizes of the blocks are specified as a com | The uncompressed sizes of the blocks are specified as a com | |||
| ma- | ma- | |||
| separated list. Omitting a size (two or more consecutive c | separated list. Omitting a size (two or more consecutive c | |||
| om- | om- | |||
| mas) is a shorthand to use the size of the previous block. | mas) is a shorthand to use the size of the previous block. | |||
| A | ||||
| special value of 0 may be used as the last value to indic | If the input file is bigger than the sum of sizes, the l | |||
| ate | ast | |||
| that the rest of the file should be encoded as a single block | value in sizes is repeated until the end of the file. A spec | |||
| . | ial | |||
| value of 0 may be used as the last value to indicate that | ||||
| Currently this option is badly broken if used together w | the | |||
| ith | rest of the file should be encoded as a single block. | |||
| --block-size or with multithreading. | ||||
| If one specifies sizes that exceed the encoder's block s | ||||
| ize | ||||
| (either the default value in threaded mode or the value spe | ||||
| ci- | ||||
| fied with --block-size=size), the encoder will create additio | ||||
| nal | ||||
| blocks while keeping the boundaries specified in sizes. | ||||
| For | ||||
| example, if one specifies --block-size=10 | ||||
| MiB | ||||
| --block-list=5MiB,10MiB,8MiB,12MiB,24MiB and the input file | ||||
| is | ||||
| 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, | ||||
| 10, | ||||
| 10, and 1 MiB. | ||||
| In multi-threaded mode the sizes of the blocks are stored in | ||||
| the | ||||
| block headers. This isn't done in single-threaded mode, so | ||||
| the | ||||
| encoded output won't be identical to that of the multi-threa | ||||
| ded | ||||
| mode. | ||||
| --flush-timeout=timeout | ||||
| When compressing, if more than timeout milliseconds (a posit | ||||
| ive | ||||
| integer) has passed since the previous flush and reading m | ||||
| ore | ||||
| input would block, all the pending input data is flushed f | ||||
| rom | ||||
| the encoder and made available in the output stream. This | ||||
| can | ||||
| be useful if xz is used to compress data that is streamed ove | ||||
| r a | ||||
| network. Small timeout values make the data available at | ||||
| the | ||||
| receiving end with a small delay, but large timeout values g | ||||
| ive | ||||
| better compression ratio. | ||||
| This feature is disabled by default. If this option is spe | ||||
| ci- | ||||
| fied more than once, the last one takes effect. The spec | ||||
| ial | ||||
| timeout value of 0 can be used to explicitly disable this f | ||||
| ea- | ||||
| ture. | ||||
| This feature is not available on non-POSIX systems. | ||||
| This feature is still experimental. Currently xz is unsuita | ||||
| ble | ||||
| for decompressing the stream in real time due to how xz d | ||||
| oes | ||||
| buffering. | ||||
| --memlimit-compress=limit | --memlimit-compress=limit | |||
| Set a memory usage limit for compression. If this option is | Set a memory usage limit for compression. If this option is | |||
| specified multiple times, the last one takes effect. | specified multiple times, the last one takes effect. | |||
| If the compression settings exceed the limit, xz will adjust the | If the compression settings exceed the limit, xz will adjust the | |||
| settings downwards so that the limit is no longer exceeded | settings downwards so that the limit is no longer exceeded | |||
| and | and | |||
| display a notice that automatic adjustment was done. S | display a notice that automatic adjustment was done. S | |||
| uch | uch | |||
| adjustments are not made when compressing with --format=raw | adjustments are not made when compressing with --format=raw | |||
| or | or | |||
| if --no-adjust has been specified. In those cases, an error | if --no-adjust has been specified. In those cases, an error | |||
| is | is | |||
| displayed and xz will exit with exit status 1. | displayed and xz will exit with exit status 1. | |||
| The limit can be specified in multiple ways: | The limit can be specified in multiple ways: | |||
| o The limit can be an absolute value in bytes. Using an in | o The limit can be an absolute value in bytes. Using an in | |||
| te- | te- | |||
| ger suffix like MiB can be useful. Example: --memlimit-c | ger suffix like MiB can be useful. Example: --memlimit-c | |||
| om- | om- | |||
| press=80MiB | press=80MiB | |||
| o The limit can be specified as a percentage of total physi cal | o The limit can be specified as a percentage of total physi cal | |||
| memory (RAM). This can be useful especially when setting the | memory (RAM). This can be useful especially when setting the | |||
| XZ_DEFAULTS environment variable in a shell initializat | XZ_DEFAULTS environment variable in a shell initializat | |||
| ion | ion | |||
| script that is shared between different computers. That | script that is shared between different computers. That | |||
| way | way | |||
| the limit is automatically bigger on systems with more m | the limit is automatically bigger on systems with more m | |||
| em- | em- | |||
| ory. Example: --memlimit-compress=70% | ory. Example: --memlimit-compress=70% | |||
| o The limit can be reset back to its default value by sett | o The limit can be reset back to its default value by sett | |||
| ing | ing | |||
| it to 0. This is currently equivalent to setting the li | it to 0. This is currently equivalent to setting the li | |||
| mit | mit | |||
| to max (no memory usage limit). Once multithreading supp | to max (no memory usage limit). Once multithreading supp | |||
| ort | ort | |||
| has been implemented, there may be a difference between 0 and | has been implemented, there may be a difference between 0 and | |||
| max for the multithreaded case, so it is recommended to us e 0 | max for the multithreaded case, so it is recommended to us e 0 | |||
| instead of max until the details have been decided. | instead of max until the details have been decided. | |||
| See also the section Memory usage. | See also the section Memory usage. | |||
| --memlimit-decompress=limit | --memlimit-decompress=limit | |||
| Set a memory usage limit for decompression. This also affe | Set a memory usage limit for decompression. This also affe | |||
| cts | cts | |||
| the --list mode. If the operation is not possible with | the --list mode. If the operation is not possible with | |||
| out | out | |||
| exceeding the limit, xz will display an error and decompress | exceeding the limit, xz will display an error and decompress | |||
| ing | ing | |||
| the file will fail. See --memlimit-compress=limit for possi | the file will fail. See --memlimit-compress=limit for possi | |||
| ble | ble | |||
| ways to specify the limit. | ways to specify the limit. | |||
| -M limit, --memlimit=limit, --memory=limit | -M limit, --memlimit=limit, --memory=limit | |||
| This is equivalent to specifying --memlimit-compress=li mit | This is equivalent to specifying --memlimit-compress=li mit | |||
| --memlimit-decompress=limit. | --memlimit-decompress=limit. | |||
| --no-adjust | --no-adjust | |||
| Display an error and exit if the compression settings exceed the | Display an error and exit if the compression settings exceed the | |||
| memory usage limit. The default is to adjust the settings do wn- | memory usage limit. The default is to adjust the settings do wn- | |||
| wards so that the memory usage limit is not exceeded. Automa tic | wards so that the memory usage limit is not exceeded. Automa tic | |||
| adjusting is always disabled when creating raw streams (--f or- | adjusting is always disabled when creating raw streams (--f or- | |||
| mat=raw). | mat=raw). | |||
| -T threads, --threads=threads | -T threads, --threads=threads | |||
| Specify the number of worker threads to use. Setting threads to | Specify the number of worker threads to use. Setting threads to | |||
| a special value 0 makes xz use as many threads as there are | a special value 0 makes xz use as many threads as there are | |||
| CPU | CPU | |||
| cores on the system. The actual number of threads can be l | cores on the system. The actual number of threads can be l | |||
| ess | ess | |||
| than threads if the input file is not big enough for thread | than threads if the input file is not big enough for thread | |||
| ing | ing | |||
| with the given settings or if using more threads would exc | with the given settings or if using more threads would exc | |||
| eed | eed | |||
| the memory usage limit. | the memory usage limit. | |||
| Currently the only threading method is to split the input i | Currently the only threading method is to split the input i | |||
| nto | nto | |||
| blocks and compress them independently from each other. | blocks and compress them independently from each other. | |||
| The | The | |||
| default block size depends on the compression level and can | default block size depends on the compression level and can | |||
| be | be | |||
| overriden with the --block-size=size option. | overriden with the --block-size=size option. | |||
| It is possible that the details of this option change before | ||||
| the | ||||
| next stable XZ Utils release. This may include the meaning | ||||
| of | ||||
| the special value 0. | ||||
| Custom compressor filter chains | Custom compressor filter chains | |||
| A custom filter chain allows specifying the compression settings | A custom filter chain allows specifying the compression settings | |||
| in | in | |||
| detail instead of relying on the settings associated to the preset l | detail instead of relying on the settings associated to the prese | |||
| ev- | ts. | |||
| els. When a custom filter chain is specified, the compression pre | When a custom filter chain is specified, preset options (-0 ... -9 | |||
| set | and | |||
| level options (-0 ... -9 and --extreme) are silently ignored. | --extreme) earlier on the command line are forgotten. If a pre | |||
| set | ||||
| option is specified after one or more custom filter chain options, | ||||
| the | ||||
| new preset takes effect and the custom filter chain options specif | ||||
| ied | ||||
| earlier are forgotten. | ||||
| A filter chain is comparable to piping on the command line. When c om- | A filter chain is comparable to piping on the command line. When c om- | |||
| pressing, the uncompressed input goes to the first filter, whose out put | pressing, the uncompressed input goes to the first filter, whose out put | |||
| goes to the next filter (if any). The output of the last filter g ets | goes to the next filter (if any). The output of the last filter g ets | |||
| written to the compressed file. The maximum number of filters in the | written to the compressed file. The maximum number of filters in the | |||
| chain is four, but typically a filter chain has only one or two f il- | chain is four, but typically a filter chain has only one or two f il- | |||
| ters. | ters. | |||
| Many filters have limitations on where they can be in the filter cha in: | Many filters have limitations on where they can be in the filter cha in: | |||
| some filters can work only as the last filter in the chain, some o nly | some filters can work only as the last filter in the chain, some o nly | |||
| skipping to change at line 548 | skipping to change at line 619 | |||
| A custom filter chain is specified by using one or more filter opti ons | A custom filter chain is specified by using one or more filter opti ons | |||
| in the order they are wanted in the filter chain. That is, the or der | in the order they are wanted in the filter chain. That is, the or der | |||
| of filter options is significant! When decoding raw streams (--f or- | of filter options is significant! When decoding raw streams (--f or- | |||
| mat=raw), the filter chain is specified in the same order as it was | mat=raw), the filter chain is specified in the same order as it was | |||
| specified when compressing. | specified when compressing. | |||
| Filters take filter-specific options as a comma-separated list. Ex tra | Filters take filter-specific options as a comma-separated list. Ex tra | |||
| commas in options are ignored. Every option has a default value, so | commas in options are ignored. Every option has a default value, so | |||
| you need to specify only those you want to change. | you need to specify only those you want to change. | |||
| To see the whole filter chain and options, use xz -vv (that is, | ||||
| use | ||||
| --verbose twice). This works also for viewing the filter chain opti | ||||
| ons | ||||
| used by presets. | ||||
| --lzma1[=options] | --lzma1[=options] | |||
| --lzma2[=options] | --lzma2[=options] | |||
| Add LZMA1 or LZMA2 filter to the filter chain. These filt ers | Add LZMA1 or LZMA2 filter to the filter chain. These filt ers | |||
| can be used only as the last filter in the chain. | can be used only as the last filter in the chain. | |||
| LZMA1 is a legacy filter, which is supported almost solely due | LZMA1 is a legacy filter, which is supported almost solely due | |||
| to the legacy .lzma file format, which supports only LZM A1. | to the legacy .lzma file format, which supports only LZM A1. | |||
| LZMA2 is an updated version of LZMA1 to fix some practi cal | LZMA2 is an updated version of LZMA1 to fix some practi cal | |||
| issues of LZMA1. The .xz format uses LZMA2 and doesn't supp ort | issues of LZMA1. The .xz format uses LZMA2 and doesn't supp ort | |||
| LZMA1 at all. Compression speed and ratios of LZMA1 and LZ MA2 | LZMA1 at all. Compression speed and ratios of LZMA1 and LZ MA2 | |||
| are practically the same. | are practically the same. | |||
| LZMA1 and LZMA2 share the same set of options: | LZMA1 and LZMA2 share the same set of options: | |||
| preset=preset | preset=preset | |||
| Reset all LZMA1 or LZMA2 options to preset. Preset c on- | Reset all LZMA1 or LZMA2 options to preset. Preset c on- | |||
| sist of an integer, which may be followed by single-l et- | sist of an integer, which may be followed by single-l et- | |||
| ter preset modifiers. The integer can be from 0 to 9, | ter preset modifiers. The integer can be from 0 to 9, | |||
| matching the command line options -0 ... -9. The o nly | matching the command line options -0 ... -9. The o nly | |||
| supported modifier is currently e, which matc hes | supported modifier is currently e, which matc hes | |||
| --extreme. The default preset is 6, from which | --extreme. If no preset is specified, the default val | |||
| the | ues | |||
| default values for the rest of the LZMA1 or LZMA2 opti | of LZMA1 or LZMA2 options are taken from the preset 6. | |||
| ons | ||||
| are taken. | ||||
| dict=size | dict=size | |||
| Dictionary (history buffer) size indicates how many by tes | Dictionary (history buffer) size indicates how many by tes | |||
| of the recently processed uncompressed data is kept | of the recently processed uncompressed data is kept | |||
| in | in | |||
| memory. The algorithm tries to find repeating b | memory. The algorithm tries to find repeating b | |||
| yte | yte | |||
| sequences (matches) in the uncompressed data, and repl ace | sequences (matches) in the uncompressed data, and repl ace | |||
| them with references to the data currently in the dict io- | them with references to the data currently in the dict io- | |||
| nary. The bigger the dictionary, the higher is the | nary. The bigger the dictionary, the higher is the | |||
| chance to find a match. Thus, increasing dictionary s ize | chance to find a match. Thus, increasing dictionary s ize | |||
| usually improves compression ratio, but a dictionary b ig- | usually improves compression ratio, but a dictionary b ig- | |||
| ger than the uncompressed file is waste of memory. | ger than the uncompressed file is waste of memory. | |||
| Typical dictionary size is from 64 KiB to 64 MiB. | Typical dictionary size is from 64 KiB to 64 MiB. | |||
| The | The | |||
| minimum is 4 KiB. The maximum for compression is c | minimum is 4 KiB. The maximum for compression is c | |||
| ur- | ur- | |||
| rently 1.5 GiB (1536 MiB). The decompressor already s up- | rently 1.5 GiB (1536 MiB). The decompressor already s up- | |||
| ports dictionaries up to one byte less than 4 GiB, wh ich | ports dictionaries up to one byte less than 4 GiB, wh ich | |||
| is the maximum for the LZMA1 and LZMA2 stream formats. | is the maximum for the LZMA1 and LZMA2 stream formats. | |||
| Dictionary size and match finder (mf) together determ ine | Dictionary size and match finder (mf) together determ ine | |||
| the memory usage of the LZMA1 or LZMA2 encoder. The s ame | the memory usage of the LZMA1 or LZMA2 encoder. The s ame | |||
| (or bigger) dictionary size is required for decompress ing | (or bigger) dictionary size is required for decompress ing | |||
| that was used when compressing, thus the memory usage | that was used when compressing, thus the memory usage | |||
| of | of | |||
| the decoder is determined by the dictionary size u | the decoder is determined by the dictionary size u | |||
| sed | sed | |||
| when compressing. The .xz headers store the diction | when compressing. The .xz headers store the diction | |||
| ary | ary | |||
| size either as 2^n or 2^n + 2^(n-1), so these sizes | size either as 2^n or 2^n + 2^(n-1), so these sizes | |||
| are | are | |||
| somewhat preferred for compression. Other sizes will get | somewhat preferred for compression. Other sizes will get | |||
| rounded up when stored in the .xz headers. | rounded up when stored in the .xz headers. | |||
| lc=lc Specify the number of literal context bits. The mini | lc=lc Specify the number of literal context bits. The mini | |||
| mum | mum | |||
| is 0 and the maximum is 4; the default is 3. In ad | is 0 and the maximum is 4; the default is 3. In ad | |||
| di- | di- | |||
| tion, the sum of lc and lp must not exceed 4. | tion, the sum of lc and lp must not exceed 4. | |||
| All bytes that cannot be encoded as matches are enco | All bytes that cannot be encoded as matches are enco | |||
| ded | ded | |||
| as literals. That is, literals are simply 8-bit by | as literals. That is, literals are simply 8-bit by | |||
| tes | tes | |||
| that are encoded one at a time. | that are encoded one at a time. | |||
| The literal coding makes an assumption that the high | The literal coding makes an assumption that the high | |||
| est | est | |||
| lc bits of the previous uncompressed byte correlate w | lc bits of the previous uncompressed byte correlate w | |||
| ith | ith | |||
| the next byte. E.g. in typical English text, an upp | the next byte. E.g. in typical English text, an upp | |||
| er- | er- | |||
| case letter is often followed by a lower-case letter, and | case letter is often followed by a lower-case letter, and | |||
| a lower-case letter is usually followed by another low er- | a lower-case letter is usually followed by another low er- | |||
| case letter. In the US-ASCII character set, the high | case letter. In the US-ASCII character set, the high | |||
| est | est | |||
| three bits are 010 for upper-case letters and 011 | three bits are 010 for upper-case letters and 011 | |||
| for | for | |||
| lower-case letters. When lc is at least 3, the lite | lower-case letters. When lc is at least 3, the lite | |||
| ral | ral | |||
| coding can take advantage of this property in the unc | coding can take advantage of this property in the unc | |||
| om- | om- | |||
| pressed data. | pressed data. | |||
| The default value (3) is usually good. If you want ma xi- | The default value (3) is usually good. If you want ma xi- | |||
| mum compression, test lc=4. Sometimes it helps a litt le, | mum compression, test lc=4. Sometimes it helps a litt le, | |||
| and sometimes it makes compression worse. If it makes it | and sometimes it makes compression worse. If it makes it | |||
| worse, test e.g. lc=2 too. | worse, test e.g. lc=2 too. | |||
| lp=lp Specify the number of literal position bits. The mini mum | lp=lp Specify the number of literal position bits. The mini mum | |||
| is 0 and the maximum is 4; the default is 0. | is 0 and the maximum is 4; the default is 0. | |||
| Lp affects what kind of alignment in the uncompres sed | Lp affects what kind of alignment in the uncompres sed | |||
| data is assumed when encoding literals. See pb below for | data is assumed when encoding literals. See pb below for | |||
| more information about alignment. | more information about alignment. | |||
| pb=pb Specify the number of position bits. The minimum i s 0 | pb=pb Specify the number of position bits. The minimum is 0 | |||
| and the maximum is 4; the default is 2. | and the maximum is 4; the default is 2. | |||
| Pb affects what kind of alignment in the uncompres | Pb affects what kind of alignment in the uncompres | |||
| sed | sed | |||
| data is assumed in general. The default means four-b | data is assumed in general. The default means four-b | |||
| yte | yte | |||
| alignment (2^pb=2^2=4), which is often a good choice w hen | alignment (2^pb=2^2=4), which is often a good choice w hen | |||
| there's no better guess. | there's no better guess. | |||
| When the aligment is known, setting pb accordingly may | When the aligment is known, setting pb accordingly may | |||
| reduce the file size a little. E.g. with text files h av- | reduce the file size a little. E.g. with text files h av- | |||
| ing one-byte alignment (US-ASCII, ISO-8859-*, UTF- 8), | ing one-byte alignment (US-ASCII, ISO-8859-*, UTF- 8), | |||
| setting pb=0 can improve compression slightly. For | setting pb=0 can improve compression slightly. For | |||
| UTF-16 text, pb=1 is a good choice. If the alignment | UTF-16 text, pb=1 is a good choice. If the alignment | |||
| is | is | |||
| an odd number like 3 bytes, pb=0 might be the b | an odd number like 3 bytes, pb=0 might be the b | |||
| est | est | |||
| choice. | choice. | |||
| Even though the assumed alignment can be adjusted with pb | Even though the assumed alignment can be adjusted with pb | |||
| and lp, LZMA1 and LZMA2 still slightly favor 16-b | and lp, LZMA1 and LZMA2 still slightly favor 16-b | |||
| yte | yte | |||
| alignment. It might be worth taking into account w | alignment. It might be worth taking into account w | |||
| hen | hen | |||
| designing file formats that are likely to be often c | designing file formats that are likely to be often c | |||
| om- | om- | |||
| pressed with LZMA1 or LZMA2. | pressed with LZMA1 or LZMA2. | |||
| mf=mf Match finder has a major effect on encoder speed, mem | mf=mf Match finder has a major effect on encoder speed, mem | |||
| ory | ory | |||
| usage, and compression ratio. Usually Hash Chain ma | usage, and compression ratio. Usually Hash Chain ma | |||
| tch | tch | |||
| finders are faster than Binary Tree match finders. | finders are faster than Binary Tree match finders. | |||
| The | The | |||
| default depends on the preset: 0 uses hc3, 1-3 use h | default depends on the preset: 0 uses hc3, 1-3 use h | |||
| c4, | c4, | |||
| and the rest use bt4. | and the rest use bt4. | |||
| The following match finders are supported. The mem | The following match finders are supported. The mem | |||
| ory | ory | |||
| usage formulas below are rough approximations, which | usage formulas below are rough approximations, which | |||
| are | are | |||
| closest to the reality when dict is a power of two. | closest to the reality when dict is a power of two. | |||
| hc3 Hash Chain with 2- and 3-byte hashing | hc3 Hash Chain with 2- and 3-byte hashing | |||
| Minimum value for nice: 3 | Minimum value for nice: 3 | |||
| Memory usage: | Memory usage: | |||
| dict * 7.5 (if dict <= 16 MiB); | dict * 7.5 (if dict <= 16 MiB); | |||
| dict * 5.5 + 64 MiB (if dict > 16 MiB) | dict * 5.5 + 64 MiB (if dict > 16 MiB) | |||
| hc4 Hash Chain with 2-, 3-, and 4-byte hashing | hc4 Hash Chain with 2-, 3-, and 4-byte hashing | |||
| Minimum value for nice: 4 | Minimum value for nice: 4 | |||
| skipping to change at line 692 | skipping to change at line 766 | |||
| dict * 9.5 + 64 MiB (if dict > 16 MiB) | dict * 9.5 + 64 MiB (if dict > 16 MiB) | |||
| bt4 Binary Tree with 2-, 3-, and 4-byte hashing | bt4 Binary Tree with 2-, 3-, and 4-byte hashing | |||
| Minimum value for nice: 4 | Minimum value for nice: 4 | |||
| Memory usage: | Memory usage: | |||
| dict * 11.5 (if dict <= 32 MiB); | dict * 11.5 (if dict <= 32 MiB); | |||
| dict * 10.5 (if dict > 32 MiB) | dict * 10.5 (if dict > 32 MiB) | |||
| mode=mode | mode=mode | |||
| Compression mode specifies the method to analyze the d ata | Compression mode specifies the method to analyze the d ata | |||
| produced by the match finder. Supported modes are f ast | produced by the match finder. Supported modes are f ast | |||
| and normal. The default is fast for presets 0-3 and n or- | and normal. The default is fast for presets 0-3 and n or- | |||
| mal for presets 4-9. | mal for presets 4-9. | |||
| Usually fast is used with Hash Chain match finders and | Usually fast is used with Hash Chain match finders and | |||
| normal with Binary Tree match finders. This is also w hat | normal with Binary Tree match finders. This is also w hat | |||
| the presets do. | the presets do. | |||
| nice=nice | nice=nice | |||
| Specify what is considered to be a nice length for a | Specify what is considered to be a nice length fo r a | |||
| match. Once a match of at least nice bytes is found, the | match. Once a match of at least nice bytes is found, the | |||
| algorithm stops looking for possibly better matches. | algorithm stops looking for possibly better matches. | |||
| Nice can be 2-273 bytes. Higher values tend to give b et- | Nice can be 2-273 bytes. Higher values tend to give b et- | |||
| ter compression ratio at the expense of speed. The | ter compression ratio at the expense of speed. The | |||
| default depends on the preset. | default depends on the preset. | |||
| depth=depth | depth=depth | |||
| Specify the maximum search depth in the match find | Specify the maximum search depth in the match find | |||
| er. | er. | |||
| The default is the special value of 0, which makes | The default is the special value of 0, which makes | |||
| the | the | |||
| compressor determine a reasonable depth from mf and ni ce. | compressor determine a reasonable depth from mf and ni ce. | |||
| Reasonable depth for Hash Chains is 4-100 and 16-1000 for | Reasonable depth for Hash Chains is 4-100 and 16-1000 for | |||
| Binary Trees. Using very high values for depth can m | Binary Trees. Using very high values for depth can m | |||
| ake | ake | |||
| the encoder extremely slow with some files. Avoid s | the encoder extremely slow with some files. Avoid s | |||
| et- | et- | |||
| ting the depth over 1000 unless you are prepared | ting the depth over 1000 unless you are prepared | |||
| to | to | |||
| interrupt the compression in case it is taking far | interrupt the compression in case it is taking far | |||
| too | too | |||
| long. | long. | |||
| When decoding raw streams (--format=raw), LZMA2 needs only the | When decoding raw streams (--format=raw), LZMA2 needs only the | |||
| dictionary size. LZMA1 needs also lc, lp, and pb. | dictionary size. LZMA1 needs also lc, lp, and pb. | |||
| --x86[=options] | --x86[=options] | |||
| --powerpc[=options] | --powerpc[=options] | |||
| --ia64[=options] | --ia64[=options] | |||
| --arm[=options] | --arm[=options] | |||
| --armthumb[=options] | --armthumb[=options] | |||
| --sparc[=options] | --sparc[=options] | |||
| Add a branch/call/jump (BCJ) filter to the filter chain. Th | Add a branch/call/jump (BCJ) filter to the filter chain. Th | |||
| ese | ese | |||
| filters can be used only as a non-last filter in the fil | filters can be used only as a non-last filter in the fil | |||
| ter | ter | |||
| chain. | chain. | |||
| A BCJ filter converts relative addresses in the machine code | A BCJ filter converts relative addresses in the machine code | |||
| to | to | |||
| their absolute counterparts. This doesn't change the size | their absolute counterparts. This doesn't change the size | |||
| of | of | |||
| the data, but it increases redundancy, which can help LZMA2 | the data, but it increases redundancy, which can help LZMA2 | |||
| to | to | |||
| produce 0-15 % smaller .xz file. The BCJ filters are alw | produce 0-15 % smaller .xz file. The BCJ filters are alw | |||
| ays | ays | |||
| reversible, so using a BCJ filter for wrong type of data does n't | reversible, so using a BCJ filter for wrong type of data does n't | |||
| cause any data loss, although it may make the compression ra tio | cause any data loss, although it may make the compression ra tio | |||
| slightly worse. | slightly worse. | |||
| It is fine to apply a BCJ filter on a whole executable; ther | It is fine to apply a BCJ filter on a whole executable; ther | |||
| e's | e's | |||
| no need to apply it only on the executable section. Applyin | no need to apply it only on the executable section. Applying | |||
| g a | a | |||
| BCJ filter on an archive that contains both executable and n | BCJ filter on an archive that contains both executable and n | |||
| on- | on- | |||
| executable files may or may not give good results, so it gen | executable files may or may not give good results, so it gen | |||
| er- | er- | |||
| ally isn't good to blindly apply a BCJ filter when compress | ally isn't good to blindly apply a BCJ filter when compress | |||
| ing | ing | |||
| binary packages for distribution. | binary packages for distribution. | |||
| These BCJ filters are very fast and use insignificant amount | These BCJ filters are very fast and use insignificant amount | |||
| of | of | |||
| memory. If a BCJ filter improves compression ratio of a fi | memory. If a BCJ filter improves compression ratio of a fi | |||
| le, | le, | |||
| it can improve decompression speed at the same time. This | it can improve decompression speed at the same time. This | |||
| is | is | |||
| because, on the same hardware, the decompression speed of LZ | because, on the same hardware, the decompression speed of LZ | |||
| MA2 | MA2 | |||
| is roughly a fixed number of bytes of compressed data per s | is roughly a fixed number of bytes of compressed data per s | |||
| ec- | ec- | |||
| ond. | ond. | |||
| These BCJ filters have known problems related to the compress ion | These BCJ filters have known problems related to the compress ion | |||
| ratio: | ratio: | |||
| o Some types of files containing executable code (e.g. obj | o Some types of files containing executable code (e.g. obj | |||
| ect | ect | |||
| files, static libraries, and Linux kernel modules) have | files, static libraries, and Linux kernel modules) have | |||
| the | the | |||
| addresses in the instructions filled with filler valu | addresses in the instructions filled with filler valu | |||
| es. | es. | |||
| These BCJ filters will still do the address conversion, wh ich | These BCJ filters will still do the address conversion, wh ich | |||
| will make the compression worse with these files. | will make the compression worse with these files. | |||
| o Applying a BCJ filter on an archive containing multiple si mi- | o Applying a BCJ filter on an archive containing multiple si mi- | |||
| lar executables can make the compression ratio worse than not | lar executables can make the compression ratio worse than not | |||
| using a BCJ filter. This is because the BCJ filter does | using a BCJ filter. This is because the BCJ filter does | |||
| n't | n't | |||
| detect the boundaries of the executable files, and does | detect the boundaries of the executable files, and does | |||
| n't | n't | |||
| reset the address conversion counter for each executable. | reset the address conversion counter for each executable. | |||
| Both of the above problems will be fixed in the future in a | Both of the above problems will be fixed in the future in a | |||
| new | new | |||
| filter. The old BCJ filters will still be useful in embed | filter. The old BCJ filters will still be useful in embed | |||
| ded | ded | |||
| systems, because the decoder of the new filter will be big | systems, because the decoder of the new filter will be big | |||
| ger | ger | |||
| and use more memory. | and use more memory. | |||
| Different instruction sets have have different alignment: | Different instruction sets have have different alignment: | |||
| Filter Alignment Notes | Filter Alignment Notes | |||
| x86 1 32-bit or 64-bit x86 | x86 1 32-bit or 64-bit x86 | |||
| PowerPC 4 Big endian only | PowerPC 4 Big endian only | |||
| ARM 4 Little endian only | ARM 4 Little endian only | |||
| ARM-Thumb 2 Little endian only | ARM-Thumb 2 Little endian only | |||
| IA-64 16 Big or little endian | IA-64 16 Big or little endian | |||
| SPARC 4 Big or little endian | SPARC 4 Big or little endian | |||
| Since the BCJ-filtered data is usually compressed with LZM | Since the BCJ-filtered data is usually compressed with LZM | |||
| A2, | A2, | |||
| the compression ratio may be improved slightly if the LZ | the compression ratio may be improved slightly if the LZ | |||
| MA2 | MA2 | |||
| options are set to match the alignment of the selected BCJ f | options are set to match the alignment of the selected BCJ f | |||
| il- | il- | |||
| ter. For example, with the IA-64 filter, it's good to set p | ter. For example, with the IA-64 filter, it's good to set p | |||
| b=4 | b=4 | |||
| with LZMA2 (2^4=16). The x86 filter is an exception; it's u | with LZMA2 (2^4=16). The x86 filter is an exception; it's u | |||
| su- | su- | |||
| ally good to stick to LZMA2's default four-byte alignment w | ally good to stick to LZMA2's default four-byte alignment w | |||
| hen | hen | |||
| compressing x86 executables. | compressing x86 executables. | |||
| All BCJ filters support the same options: | All BCJ filters support the same options: | |||
| start=offset | start=offset | |||
| Specify the start offset that is used when convert ing | Specify the start offset that is used when convert ing | |||
| between relative and absolute addresses. The offset m ust | between relative and absolute addresses. The offset m ust | |||
| be a multiple of the alignment of the filter (see the ta- | be a multiple of the alignment of the filter (see the ta- | |||
| ble above). The default is zero. In practice, | ble above). The default is zero. In practice, | |||
| the | the | |||
| default is good; specifying a custom offset is alm | default is good; specifying a custom offset is alm | |||
| ost | ost | |||
| never useful. | never useful. | |||
| --delta[=options] | --delta[=options] | |||
| Add the Delta filter to the filter chain. The Delta filter can | Add the Delta filter to the filter chain. The Delta filter can | |||
| be only used as a non-last filter in the filter chain. | be only used as a non-last filter in the filter chain. | |||
| Currently only simple byte-wise delta calculation is support | Currently only simple byte-wise delta calculation is support | |||
| ed. | ed. | |||
| It can be useful when compressing e.g. uncompressed bit | It can be useful when compressing e.g. uncompressed bit | |||
| map | map | |||
| images or uncompressed PCM audio. However, special purp | images or uncompressed PCM audio. However, special purp | |||
| ose | ose | |||
| algorithms may give significantly better results than Delt | algorithms may give significantly better results than Delta | |||
| a + | + | |||
| LZMA2. This is true especially with audio, which compres | LZMA2. This is true especially with audio, which compres | |||
| ses | ses | |||
| faster and better e.g. with flac(1). | faster and better e.g. with flac(1). | |||
| Supported options: | Supported options: | |||
| dist=distance | dist=distance | |||
| Specify the distance of the delta calculation in byt es. | Specify the distance of the delta calculation in byt es. | |||
| distance must be 1-256. The default is 1. | distance must be 1-256. The default is 1. | |||
| For example, with dist=2 and eight-byte input A1 B1 A2 B3 | For example, with dist=2 and eight-byte input A1 B1 A2 B3 | |||
| A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 0 2. | A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 0 2. | |||
| Other options | Other options | |||
| -q, --quiet | -q, --quiet | |||
| Suppress warnings and notices. Specify this twice to suppr ess | Suppress warnings and notices. Specify this twice to suppr ess | |||
| errors too. This option has no effect on the exit status. T hat | errors too. This option has no effect on the exit status. T hat | |||
| is, even if a warning was suppressed, the exit status to in di- | is, even if a warning was suppressed, the exit status to in di- | |||
| cate a warning is still used. | cate a warning is still used. | |||
| -v, --verbose | -v, --verbose | |||
| Be verbose. If standard error is connected to a terminal, | Be verbose. If standard error is connected to a terminal, | |||
| xz | xz | |||
| will display a progress indicator. Specifying --verbose tw | will display a progress indicator. Specifying --verbose tw | |||
| ice | ice | |||
| will give even more verbose output. | will give even more verbose output. | |||
| The progress indicator shows the following information: | The progress indicator shows the following information: | |||
| o Completion percentage is shown if the size of the input f ile | o Completion percentage is shown if the size of the input f ile | |||
| is known. That is, the percentage cannot be shown in pipe s. | is known. That is, the percentage cannot be shown in pipe s. | |||
| o Amount of compressed data produced (compressing) or consu med | o Amount of compressed data produced (compressing) or consu med | |||
| (decompressing). | (decompressing). | |||
| o Amount of uncompressed data consumed (compressing) or p ro- | o Amount of uncompressed data consumed (compressing) or p ro- | |||
| duced (decompressing). | duced (decompressing). | |||
| o Compression ratio, which is calculated by dividing the amo unt | o Compression ratio, which is calculated by dividing the amo unt | |||
| of compressed data processed so far by the amount of unc om- | of compressed data processed so far by the amount of unc om- | |||
| pressed data processed so far. | pressed data processed so far. | |||
| o Compression or decompression speed. This is measured as | o Compression or decompression speed. This is measured as | |||
| the | the | |||
| amount of uncompressed data consumed (compression) or p | amount of uncompressed data consumed (compression) or p | |||
| ro- | ro- | |||
| duced (decompression) per second. It is shown after a | duced (decompression) per second. It is shown after a | |||
| few | few | |||
| seconds have passed since xz started processing the file. | seconds have passed since xz started processing the file. | |||
| o Elapsed time in the format M:SS or H:MM:SS. | o Elapsed time in the format M:SS or H:MM:SS. | |||
| o Estimated remaining time is shown only when the size of | o Estimated remaining time is shown only when the size of | |||
| the | the | |||
| input file is known and a couple of seconds have alre | input file is known and a couple of seconds have alre | |||
| ady | ady | |||
| passed since xz started processing the file. The time | passed since xz started processing the file. The time | |||
| is | is | |||
| shown in a less precise format which never has any colo | shown in a less precise format which never has any colo | |||
| ns, | ns, | |||
| e.g. 2 min 30 s. | e.g. 2 min 30 s. | |||
| When standard error is not a terminal, --verbose will make xz | When standard error is not a terminal, --verbose will make xz | |||
| print the filename, compressed size, uncompressed size, compr es- | print the filename, compressed size, uncompressed size, compr es- | |||
| sion ratio, and possibly also the speed and elapsed time on a | sion ratio, and possibly also the speed and elapsed time o n a | |||
| single line to standard error after compressing or decompress ing | single line to standard error after compressing or decompress ing | |||
| the file. The speed and elapsed time are included only when the | the file. The speed and elapsed time are included only when the | |||
| operation took at least a few seconds. If the operation did | operation took at least a few seconds. If the operation did | |||
| n't | n't | |||
| finish, e.g. due to user interruption, also the completion p | finish, e.g. due to user interruption, also the completion p | |||
| er- | er- | |||
| centage is printed if the size of the input file is known. | centage is printed if the size of the input file is known. | |||
| -Q, --no-warn | -Q, --no-warn | |||
| Don't set the exit status to 2 even if a condition worth a wa rn- | Don't set the exit status to 2 even if a condition worth a wa rn- | |||
| ing was detected. This option doesn't affect the verbos | ing was detected. This option doesn't affect the verbos | |||
| ity | ity | |||
| level, thus both --quiet and --no-warn have to be used to | level, thus both --quiet and --no-warn have to be used to | |||
| not | not | |||
| display warnings and to not alter the exit status. | display warnings and to not alter the exit status. | |||
| --robot | --robot | |||
| Print messages in a machine-parsable format. This is inten | Print messages in a machine-parsable format. This is inten | |||
| ded | ded | |||
| to ease writing frontends that want to use xz instead | to ease writing frontends that want to use xz instead | |||
| of | of | |||
| liblzma, which may be the case with various scripts. The out put | liblzma, which may be the case with various scripts. The out put | |||
| with this option enabled is meant to be stable across xz | with this option enabled is meant to be stable across xz | |||
| releases. See the section ROBOT MODE for details. | releases. See the section ROBOT MODE for details. | |||
| --info-memory | --info-memory | |||
| Display, in human-readable format, how much physical mem | Display, in human-readable format, how much physical mem | |||
| ory | ory | |||
| (RAM) xz thinks the system has and the memory usage limits | (RAM) xz thinks the system has and the memory usage limits | |||
| for | for | |||
| compression and decompression, and exit successfully. | compression and decompression, and exit successfully. | |||
| -h, --help | -h, --help | |||
| Display a help message describing the most commonly u sed | Display a help message describing the most commonly u sed | |||
| options, and exit successfully. | options, and exit successfully. | |||
| -H, --long-help | -H, --long-help | |||
| Display a help message describing all features of xz, and e xit | Display a help message describing all features of xz, and e xit | |||
| successfully | successfully | |||
| -V, --version | -V, --version | |||
| Display the version number of xz and liblzma in human reada | Display the version number of xz and liblzma in human reada | |||
| ble | ble | |||
| format. To get machine-parsable output, specify --robot bef | format. To get machine-parsable output, specify --robot bef | |||
| ore | ore | |||
| --version. | --version. | |||
| ROBOT MODE | ROBOT MODE | |||
| The robot mode is activated with the --robot option. It makes the o ut- | The robot mode is activated with the --robot option. It makes the o ut- | |||
| put of xz easier to parse by other programs. Currently --robot is s up- | put of xz easier to parse by other programs. Currently --robot is s up- | |||
| ported only together with --version, --info-memory, and --list. | ported only together with --version, --info-memory, and --list. | |||
| It | It | |||
| will be supported for normal compression and decompression in | will be supported for compression and decompression in the future. | |||
| the | ||||
| future. | ||||
| Version | Version | |||
| xz --robot --version will print the version number of xz and liblzma in | xz --robot --version will print the version number of xz and liblzma in | |||
| the following format: | the following format: | |||
| XZ_VERSION=XYYYZZZS | XZ_VERSION=XYYYZZZS | |||
| LIBLZMA_VERSION=XYYYZZZS | LIBLZMA_VERSION=XYYYZZZS | |||
| X Major version. | X Major version. | |||
| skipping to change at line 1210 | skipping to change at line 1283 | |||
| NOTES | NOTES | |||
| Compressed output may vary | Compressed output may vary | |||
| The exact compressed output produced from the same uncompressed in put | The exact compressed output produced from the same uncompressed in put | |||
| file may vary between XZ Utils versions even if compression options are | file may vary between XZ Utils versions even if compression options are | |||
| identical. This is because the encoder can be improved (faster or b et- | identical. This is because the encoder can be improved (faster or b et- | |||
| ter compression) without affecting the file format. The output can | ter compression) without affecting the file format. The output can | |||
| vary even between different builds of the same XZ Utils version, if | vary even between different builds of the same XZ Utils version, if | |||
| different build options are used. | different build options are used. | |||
| The above means that implementing --rsyncable to create rsyncable | The above means that once --rsyncable has been implemented, the resu | |||
| .xz | lt- | |||
| files is not going to happen without freezing a part of the enco | ing files won't necessarily be rsyncable unless both old and new fi | |||
| der | les | |||
| implementation, which can then be used with --rsyncable. | have been compressed with the same xz version. This problem can | |||
| be | ||||
| fixed if a part of the encoder implementation is frozen to keep rsyn | ||||
| ca- | ||||
| ble output stable across xz versions. | ||||
| Embedded .xz decompressors | Embedded .xz decompressors | |||
| Embedded .xz decompressor implementations like XZ Embedded don't nec es- | Embedded .xz decompressor implementations like XZ Embedded don't nec es- | |||
| sarily support files created with integrity check types other than n one | sarily support files created with integrity check types other than n one | |||
| and crc32. Since the default is --check=crc64, you must use | and crc32. Since the default is --check=crc64, you must use | |||
| --check=none or --check=crc32 when creating files for embedded syste ms. | --check=none or --check=crc32 when creating files for embedded syste ms. | |||
| Outside embedded systems, all .xz format decompressors support all the | Outside embedded systems, all .xz format decompressors support all the | |||
| check types, or at least are able to decompress the file without ve ri- | check types, or at least are able to decompress the file without ve ri- | |||
| fying the integrity check if the particular check is not supported. | fying the integrity check if the particular check is not supported. | |||
| skipping to change at line 1310 | skipping to change at line 1385 | |||
| -0 ... -9 and --extreme are useful when customizing LZMA2 prese ts. | -0 ... -9 and --extreme are useful when customizing LZMA2 prese ts. | |||
| Here are the relevant parts collected from those two tables: | Here are the relevant parts collected from those two tables: | |||
| Preset CompCPU | Preset CompCPU | |||
| -0 0 | -0 0 | |||
| -1 1 | -1 1 | |||
| -2 2 | -2 2 | |||
| -3 3 | -3 3 | |||
| -4 4 | -4 4 | |||
| -5 5 | -5 5 | |||
| -6 6 | -6 6 | |||
| -5e 7 | -5e 7 | |||
| -6e 8 | -6e 8 | |||
| If you know that a file requires somewhat big dictionary (e.g. 32 M iB) | If you know that a file requires somewhat big dictionary (e.g. 32 M iB) | |||
| to compress well, but you want to compress it quicker than xz -8 wo uld | to compress well, but you want to compress it quicker than xz -8 wo uld | |||
| do, a preset with a low CompCPU value (e.g. 1) can be modified to us e a | do, a preset with a low CompCPU value (e.g. 1) can be modified to us e a | |||
| bigger dictionary: | bigger dictionary: | |||
| xz --lzma2=preset=1,dict=32MiB foo.tar | xz --lzma2=preset=1,dict=32MiB foo.tar | |||
| With certain files, the above command may be faster than xz -6 wh ile | With certain files, the above command may be faster than xz -6 wh ile | |||
| skipping to change at line 1398 | skipping to change at line 1473 | |||
| number of bytes per pixel. | number of bytes per pixel. | |||
| SEE ALSO | SEE ALSO | |||
| xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip( 1), | xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip( 1), | |||
| bzip2(1), 7z(1) | bzip2(1), 7z(1) | |||
| XZ Utils: <http://tukaani.org/xz/> | XZ Utils: <http://tukaani.org/xz/> | |||
| XZ Embedded: <http://tukaani.org/xz/embedded.html> | XZ Embedded: <http://tukaani.org/xz/embedded.html> | |||
| LZMA SDK: <http://7-zip.org/sdk.html> | LZMA SDK: <http://7-zip.org/sdk.html> | |||
| Tukaani 2012-07-03 XZ (1) | Tukaani 2014-12-16 XZ (1) | |||
| End of changes. 85 change blocks. | ||||
| 314 lines changed or deleted | 437 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||