XZ Utils

Software Screenshot:
XZ Utils
Software Details:
Version: 5.2.4 updated
Upload Date: 22 Jun 18
Developer: Lasse Collin & Co
Distribution Type: Freeware
Downloads: 98

Rating: 3.5/5 (Total Votes: 2)

XZ Utils (xz-utils or simply xz) is an open source and completely free software project that provides all the essential utilities to work with XZ tarballs on any GNU/Linux operating system. It allows you to extract archives that end in the .xz or .lzma file extensions, as well as to compress file and folders with the XZ compression method, resulting in .xz, .lzma, tar.xz or tar.lzma archives.

One of the most powerful compression algorithm

XZ is without no doubt one of the worlds most powerful compression algorithm, and it runs on GNU/Linux systems. It is capable of creating archives that are two or three times smaller than other popular compression methods, such as RAR, ZIP, GZ or BZ2. To be more precise, the XZ archives are with 15% smaller than bzip2 tarballs and with 30% smaller than gzip files.

What’s in the box?

XZ Utils or xz-utils or xz is the official name of the package, which can be easily installed on many GNU/Linux operating systems from their default software repositories. It comprises of the liblzma compression library, the xz command-line tool, and the xzdec decompression-only tool.

In addition, it comes with a set of shell scripts, including xzgrep, xzegrep, xzfgrep, xzless, xzmore, xzcat, xzcmp and xzdiff, that allow you to view, compare and grep XZ archives, as well as the necessary components to handle LZMA archives, which are now deprecated by XZ. The XZ command includes several important options, including the ability to force decompression and compression.

Supported platforms

The XZ data compression software is officially supported on the GNU/Linux, GNU/HURD, BSD (FreeBSD, OpenBSD, NetBSD, Dragonfly BSD and MirBSD), MINIX, Solaris, IRIX, AIX, QNX, Mac OS X, Haiku, HP-UX, Tru64, OpenVMS, OpenVOS, IBM OS/2, DOS (FreeDOS and MS-DOS), as well as Microsoft Windows 95 and later.

What is new in this release:

  • liblzma:
  • Allow 0 as memory usage limit instead of returning LZMA_PROG_ERROR. Now 0 is treated as if 1 byte was specified, which effectively is the same as 0.
  • Use "noexcept" keyword instead of "throw()" in the public headers when a C++11 (or newer standard) compiler is used.
  • Added a portability fix for recent Intel C Compilers.
  • Microsoft Visual Studio build files have been moved under windows/vs2013 and windows/vs2017.
  • xz:
  • Fix "xz --list --robot missing_or_bad_file.xz" which would try to print an unitialized string and thus produce garbage output. Since the exit status is non-zero, most uses of such a command won't try to interpret the garbage output.
  • "xz --list foo.xz" could print "Internal error (bug)" in a corner case where a specific memory usage limit had been set.

What is new in version :

  • xz:
  • Always close a file before trying to delete it to avoid problems on some operating system and file system combinations.
  • Fixed copying of file timestamps on Windows.
  • Added experimental (disabled by default) sandbox support using Capsicum (FreeBSD >= 10). See --enable-sandbox in INSTALL.
  • C99/C11 conformance fixes to liblzma. The issues affected at leastsome builds using link-time optimizations.
  • Fixed bugs in the rarely-used function lzma_index_dup().
  • Use of external SHA-256 code is now disabled by default. It can still be enabled by passing --enable-external-sha256 to configure. The reasons to disable it by default (see INSTALL for more details)...
  • Some OS-specific SHA-256 implementations conflict with OpenSSL and cause problems in programs that link against both liblzma and libcrypto. At least FreeBSD 10 and MINIX 3.3.0 are affected.
  • The internal SHA-256 is faster than the SHA-256 code in some operating systems.
  • Changed CPU core count detection to use sched_getaffinity() on GNU/Linux and GNU/kFreeBSD.
  • Fixes to the build-system and xz to make xz buildable even when encoders, decoders, or threading have been disabled from libilzma using configure options. These fixes added two new #defines to config.h: HAVE_ENCODERS and HAVE_DECODERS.

What is new in version 5.2.2:

  • Fixed bugs in QNX-specific code.
  • Omitted the use of pipe2() even if it is available to avoid portability issues with some old Linux and glibc combinations.
  • Updated German translation.
  • Added project files to build static and shared liblzma (not the whole XZ Utils) with Visual Studio 2013 update 2 or later.
  • Documented that threaded decompression hasn't been implemented yet. A 5.2.0 NEWS entry describing multi-threading support had incorrectly said "decompression" when it should have said "compression".

What is new in version 5.2.1:

  • Fixed a compression-ratio regression in fast mode of LZMA1 and LZMA2. The bug is present in 5.1.4beta and 5.2.0 releases.
  • Fixed a portability problem in xz that affected at least OpenBSD.
  • Fixed xzdiff to be compatible with FreeBSD's mktemp which differs from most other mktemp implementations.
  • Changed CPU core count detection to use cpuset_getaffinity() on FreeBSD.

What is new in version 5.2.0:

  • All fixes from 5.0.8
  • liblzma: Fixed lzma_stream_encoder_mt_memusage() when a preset was used.
  • xzdiff: If mktemp isn't installed, mkdir will be used as a fallback to create a temporary directory. Installing mktemp is still recommended.
  • Updated French, German, Italian, Polish, and Vietnamese translations.

What is new in version 5.0.7:

  • All fixes from 5.0.6
  • liblzma: Fixed the use of presets in threaded encoder initialization.
  • xz --block-list and --block-size can now be used together in single-threaded mode. Previously the combination only worked in multi-threaded mode.
  • Added support for LZMA_IGNORE_CHECK to liblzma and made it available in xz as --ignore-check.
  • liblzma speed optimizations:
  • Initialization of a new LZMA1 or LZMA2 encoder has been optimized. (The speed of reinitializing an already-allocated encoder isn't affected.) This helps when compressing many small buffers with lzma_stream_buffer_encode() and other similar situations where an already-allocated encoder state isn't reused. This speed-up is visible in xz too if one compresses many small files one at a time instead running xz once and giving all files as command-line arguments.
  • Buffer comparisons are now much faster when unaligned access is allowed (configured with --enable-unaligned-access). This speeds up encoding significantly. There is arch-specific code for 32-bit and 64-bit x86 (32-bit needs SSE2 for the best results and there's no run-time CPU detection for now). For other archs there is only generic code which probably isn't as optimal as arch-specific solutions could be.
  • A few speed optimizations were made to the SHA-256 code. (Note that the builtin SHA-256 code isn't used on all operating systems.)
  • liblzma can now be built with MSVC 2013 update 2 or later using windows/config.h.
  • Vietnamese translation was added.

What is new in version 5.0.6:

  • liblzma: Fixed the use of presets in threaded encoder initialization.
  • xz --block-list and --block-size can now be used together in single-threaded mode. Previously the combination only worked in multi-threaded mode.
  • Added support for LZMA_IGNORE_CHECK to liblzma and made it available in xz as --ignore-check.
  • liblzma speed optimizations:
  • Initialization of a new LZMA1 or LZMA2 encoder has been optimized. (The speed of reinitializing an already-allocated encoder isn't affected.) This helps when compressing many small buffers with lzma_stream_buffer_encode() and other similar situations where an already-allocated encoder state isn't reused. This speed-up is visible in xz too if one compresses many small files one at a time instead running xz once and giving all files as command-line arguments.
  • Buffer comparisons are now much faster when unaligned access is allowed (configured with --enable-unaligned-access). This speeds up encoding significantly. There is arch-specific code for 32-bit and 64-bit x86 (32-bit needs SSE2 for the best results and there's no run-time CPU detection for now). For other archs there is only generic code which probably isn't as optimal as arch-specific solutions could be.
  • A few speed optimizations were made to the SHA-256 code. (Note that the builtin SHA-256 code isn't used on all operating systems.)
  • liblzma can now be built with MSVC 2013 update 2 or later using windows/config.h.
  • Vietnamese translation was added.

Similar Software

me2-packager
me2-packager

14 Apr 15

PeaZip
PeaZip

22 Jun 18

At4J
At4J

20 Feb 15

mscompress
mscompress

2 Jun 15

Comments to XZ Utils

Comments not found
Add Comment
Turn on images!