Распаковать архив *.xz под Windows. Xz — сила сжатия LZMA уже в твоей консоли $ zip опции файлы

Многие наверное уже знают про утилитку для компрессии/декомпрессии xz . Но еще больше не знают. Поэтому написал этот ознакомительный топик.

Xz - формат сжатия данных, наряду с gzip, bzip2 вошедший в gnu-шные приложения.
Использует алгоритм LZMA , тот же что и в 7z, а это значит что можно сильнее сжать многие виды данных, типа текста, бинарные еще не сжатые данные по сравнению с стандартными, упомянутыми выше.
xz используется в новом rpm 4.7.2 для компрессии архивов.cpio в rpm-пакетах (используется с Fedora 12).
В ArchLinux вообще используется.tar.xz в качестве пакета.
В GNU tar появились опции -J --lzma, которые исполняют туже роль что и -z для gzip, -j для bzip2

Плюсы:
Высокая степень сжатия

Минусы:
большое потребление ресурсов:
cpu time (и собственно времени сжатия)
памяти (настраивается, но все равно больше чем gzip, bzip2).
В частности xz при --best aka -9 потребляет до 700мб! при компрессии и 90мб при декомпрессии

Фичи:
Потребление большого объема памяти немного ограничивается предварительным вычислением имеющихся ресурсов.
интеграция в GNU tar
работа с потоками
опционально: progressbar через --verbose

Не хочется сильно засорять ознакомительный топик графиками и прочим, но без этого не обойтись:
Сделал банальный забег gzip, bzip2, xz на предмет степени сжатия, потребления времени. также в качестве гостя принимат участие WinRar (хоть и хмельной, под wine, но всетаки показал отличные результаты)

Получаем 4 квадрата:
Нижний левый - медленные и слабожмущие: gzip и winrar fastest.
Верхний левый: выигрышное соотношение сжатие/время: немного лучше себя показывает bzip2, xz на 1 и 2м уровне сжатия, и
Верхний правый: настоящий прессовый механизм: доллго но очень сильно сжимающий xz
В нижнем правом: никого нет, да и кому нужен долгоработающий и слабосжимающий архиватор?

Но вообще координатная сетка не удачно подобрана: как мы оцениваем время? категориями! например быстро - 10-20 секунд, средне от полминуты до минуты, больше 2 минут - это долго.
так что логарифмическая шкала тут нагляднее:

А если если оценить их как сжатие потока, на моем Core2Duo E6750 @ 2.66GHz,
то получился такой вот график:


т.е. использовуя в качестве сжималки конвеера gzip -1 или gzip -4, в 100мбитной сети можно гонять до 25мбайт/сек нежатых данных. (несколько раз проверял - gzip -4 почему-то дает больший профит чем -3 или -5)
cat /some/data | gzip -1c | ssh user@somehost -c "gzip -dc > /some/data"
xz можно использовать в таком лишь на каналах <8мбит,

Очевидный вывод (При содействии K.O.)
xz - в виду потребления ресурсов занимает нишу архиваторов компрессоров, там где может играть большое значение степень сжатия, и есть достаточно вычислительного ресурса и ресурса времени. т.е. различного рода бекапы/архивы, дистрибутивы (rpm же, tar.xz в archlinux). Или данные очень легко подвергающиеся сжатию: логи, таблицы с текстовыми-цифровыми данными csv, tsv, которые не предполагается изменять.

P.S. Как бы не радовался за xz, в разумности потраченных усилий WinRar Wins.

Недавно скачал образ свежей фряшки 8.2, удивился когда увидел что образ запакован в.xz, раньше никогда не слышал про такой формат архива, оказывается XZ - формат сжатых данных, использующий алгоритм LZMA2 и призванный заменить формат LZMA. Как и форматы gzip и bzip2, он является контейнером для единственного файла, поэтому его обычно используют совместно с форматом tar.

По привычке попробовал распаковать WinRar-ом, на что получил ответ от него, мол архив битый, или не является архивом 🙁 печально!

В тырнете нашел одну досовскую утилитку, для распаковки таких архивов, слил ее себе, ну и выложил на сайте у себя, т.к. такие вещи надо иметь под рукой)

Распаковываем архивчик, кидаем файлик xz.exe в system32, если конечно хотим пользоваться им спокойно, без ввода полного пути к нему.
Работать с утилитой очень просто, например распаковать свеженький дистрибутивчик:

Xz -d u:\FreeBSD-8.2-RELEASE-amd64-dvd1.iso.xz

также можно посмотреть все ключи команды:

C:\xz --help Usage: xz ... ... Compress or decompress FILEs in the .xz format. -z, --compress сила компресии -d, --decompress сила декомпрессии -t, --test проверка целостности сжатого файла -l, --list перечислить информацию о файлах.xz -k, --keep сохранить (не удалять) входные файлы -f, --force принудительная перезапись выходного файла и (де)сжатия ссылок -c, --stdout писать на стандартный вывод и не удалять входные файлы -0 ... -9 пресет сжатия; по умолчанию 6; использовать компрессор *и* использование памяти декомпрессора перед использованием 7-9! -e, --extreme попробуйте улучшить коэффициент сжатия, используя большее время процессора; не влияет на требования к памяти декомпрессора -q, --quiet подавлять предупреждения; укажите дважды для подавления ошибок -v, --verbose быть многословным; укажите дважды для еще более подробных отчетов -h, --help отобразить эту короткую справку и выйти -H, --long-help отобразить подробную справку (перечислены также расширенные параметры) -V, --version отобразить номер версии и выйти

Ну как бэ все)
Приятного вам юзания утилиты!)

У вас есть проблема с открытием.XZ-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы XZ. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.

Для чего нужен файловый формат.XZ?

Файловое расширение.xz принадлежит формату и типу файлов "Сжатый архив XZ" (.xz). XZ — это название свободного алгоритма сжатия данных, основанного на более раннем формате LZMA и появившегося в рамках проекта The Tukaani Project (бывший дистрибутив GNU/Linux на базе Slackware). Как и LZMA, XZ является целочисленным форматом и позволяет достигать высоких коэффициентов сжатия. XZ тесно связан со свободным архиватором 7-Zip и переданным в общественное достояние инструментарием LZMA SDK.

Файл.xz представляет собой сжатый архив в формате XZ. Родная поддержка архивов XZ обеспечивается набором утилит XZ Utils (бывший LZMA Utils), являющимся эталонной реализацией XZ для целого ряда платформ и ОС. Помимо этого, в среде Майкрософт Windows формат XZ поддерживают несколько бесплатных и коммерческих архиваторов.



XZ поддерживает сжатие только на уровне файлов, и по этому причине данный формат часто используется в сочетании с TAR. В этом случае архив.tar ("tarball") используется для объединения файлов и каталогов в один файл, после чего такой файл сжимается методом XZ ((.tar.xz или.txz). Как XZ, так и TAR более распространены в Unix-подобных ОС, таких как FreeBSD и GNU/Linux.

Программы для открытия или конвертации XZ файлов

Вы можете открыть файлы XZ с помощью следующих программ: