Расширение файла XZ. Распаковать архив *.xz под Windows $ 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.

Вариант «двойной клик, распаковать» не плох. Но не универсален. Ну и не так интересен, как куча способов сделать это в консоли! Поэтому, очередная заметка в стиле «Все способы сделать это».

Пожалуй, лучший выбор для архива, который вы хотите выложить на всеобщее скачивание — zip -архив. Инструменты для его распаковки есть практически на всех ОС «из коробки». Даже в той же Windows есть странноватый, но всё же разархиватор zip. Если же вы используете Linux / FreeBSD / MacOS, то ваш выбор — unzip:

Unzip file.zip

Вообще, понятно, почему ZIP стал популярен. Он использует свободный от патентов алгоритм Deflate, который уже давно стал чуть ли не стандартом для сжатия: описан в RFC 1951, да и многие его используют (тот же gzip и формат хранения изображений png, все перечислять не буду — ZIP действительно велик!).

Плюсом ко всему довольно сильно в своё время стал известен автор этого формата — Фил Катц. На заре пользовательского интернета, во времена BBS-ок он оптимизировал формат ARC, который использовался для сжатия, но авторам последнего это не понравилось. Как и принято на пресловутом западе, была судебная тяжба, в рамках которой Катц себя проявил как славный малый. Можно даже посмотреть документалку «Compression», где описывается противостояние.

Так что нельзя просто сделать хороший алгоритм сжатия. Нужно ещё и пропиарить всё это на скандале.

Хотя, не буду юродствовать. Большой вклад в IT, в нашу реальность. Жаль, что Фил не получил достаточно славы, чтобы не гасить всё в алкоголе. Хотя, может ему так было лучше. Ушёл он из жизни в 2000м-ом году (37 лет). Земля пухом, друг!

Вторым форматом в моём личном «топе» я бы поставил RAR . Не потому что я часто его вижу, а потому что запоминается это. Каждый раз я иду и ставлю unrar.

Для Ubuntu/Debian/Mint и других с apt это:

$ sudo apt install unrar

Во FreeBSD похоже:

% sudo pkg install unrar

И для MacOS:

$ brew install unrar

Либо можно сходить в App Store и скачать The Unarchiver

Также он поддерживает такие форматы как ZIP, 7z, LHA, LZH, Tar, gzip, bzip2, StuffIt, StuffIt X, DiskDoubler, Compact Pro, PackIt, cpio, XAR, RPM, LZMA, XZ, Z, CAB, MSI, NSIS, ALZip, ARJ, Ace, Zoo, ADF, DMS, LZX, PowerPacker, NSA, SAR, NDS, Split файлы… Ну это так, к слову.

У WinRAR есть сборки и под Linux и под Бисти, MacOS также не обошли — так что, если привыкли/удобнее — также можно. И не мудрено — существует с 1993-го.

Хоть rar и является разработкой нашего соотечественника (родился в СССР), а сам при этом — суровый челябинский программист… Но «топить за» этот момент я не буду — всё же давайте быть гражданами мира! Но он ещё и создатель FAR-а… Евгений Рошал — знакомьтесь!

Короче, всё классно, но рарчик — проприетарчик. Жмёт неплохо, равно как и его создатель (во всяком случае его брат). Поэтому его нет «из коробки» на различных системах, но виндузятники уже сильно на этот формат подсели — придётся временами видеть.

На почётном 3-ем месте — семейство tar -архивов. Именно tar — архиватор. Он не сжимает, а архивирует файл за файлом. Создаёт архив! Не знаю, как ещё сильнее указать на отличие… В общем, представим архивариуса. Он складываете документы один к другому, чтобы в итоге получился шкаф, в котором вся информация по какой-то теме. Шкаф при этом больше, чем просто набор файлов. И в плане своей значимости, и в плане занимаемого места. Так вот, tar — архивариус. Он сделает ещё больший файл, в котором есть подборка других файлов.

Тут речь про алгоритм, а не про сектора жёсткого диска (знаю, зануда, ты уже хотел про это написать… но я тоже зануда;-)).

А уже вот этот файл мы можем сжать. Не знаю, как вам, а мне это представляется прекрасной иллюстрацией одного из принципов Unix:

Пишите программы, которые делают что-то одно и делают это хорошо.

Так и тут! Ладно, кто понял — тот понял, кто не понял — тот простит…

И сжать теперь можно любым универсальным алгоритмом сжатия (есть ещё специализированные под конкретный тип данных)!

И тут у нас уже идёт поддержка около 180 форматов… «Из коробки» не все, конечно. Самые распространённые:

Самый распространённый вариант создать сжатый tar-архив

tar -czf file.tar.gz source.c source.h

Распаковать — соответственно:

tar -x zf file.tar.gz

Create/Extract — всё логично! И это один из самых распространённых форматов дистрибуции «пакетов» в Unix. Та же слака (слава великому Патрику) использует её для скачивания и установки пакетов. Прямо в корень, прямо в «душу»!

В общем, используйте tar, слушайте маму!

Целая история, инфраструктуры, эпохи, судьбы людей… А всего 3 типа архивов.

Ну и для тех, кто хотел разархивировать какой-то хитрый архив, но залип на этой статье, вот список:

gz (gzip) файл, распакуем его командой:

Аналогично с BZ2 — разархивируем с помощью:

bunzip2 file.bz2

Могут встретиться и файлы XZ . Разархивируем командой

архивируем

xz --decompress file.xz

XZ умеет разархивировать файлы и LZMA формата:

xz --format=lzma --decompress file.lz # для.lz файлов

Для 7Z -файлов используем:

Нужно установить p7zip до этого (sudo apt-get install p7zip).

Возможно, файл к Вам попал без расширение или с неправильным, тогда воспользуемся командой file , чтобы узнать формат файла:

file file.unknown

Например:

$ file server.jjj server.jjj: Zip archive data, at least v2.0 to extract

Узнав формат, всегда можно обратиться в гугл и узнать, как его распаковать. Либо обратиться к документации/автору и написать распаковщик самому.

Уверен, что упустил ещё over 100 форматов, которые «все используют». Пишите — добавлю!

В наши дни мы сталкиваемся с файлами архивов очень часто и на всех платформах: Windows, Mac или Linux. Это могут быть программы, резервные копии систем или баз данных или просто архив файлов. Нам также часто приходится создавать свои архивы в Linux, чтобы передать несколько файлов друзьям или загрузить на файлообменник. В виде архивов распространяются пакеты программ, исходные коды, а также много других файлов, распространяемых на просторах интернета. Научиться выполнять архивирование файлов в Linux через терминал очень важно, возможно это вам понадобиться, когда не будет доступа к графическому интерфейсу, или просто со временем в терминале станет более приятно работать.

В этой инструкции я хочу подробно рассмотреть утилиты для архивирования в Linux, мы рассмотрим не только самую популярную и универсальную утилиту - tar, но и другие менее известные, а также популярные алгоритмы сжатия.

Важно отметить, что архивирование в linux это не одно и то же что и сжатие файлов linux. Архивирование - это объединение нескольких небольших файлов в один, с целю более удобной последующей передачи, хранения, шифрования или сжатия. Как я уже сказал, архивация выполняется специальными утилитами. Мы не будем трогать архивацию файлов в графическом интерфейсе, вы с ними разберетесь сами, наша тема - терминал.

Самой популярной для Linux утилитой для архивации есть tar. Она используется почти везде, для архивации исходников, упаковки пакетов. Для сжатия используются другие утилиты, в зависимости от алгоритма сжатия, например, zip, bz, xz, lzma и т д. Сначала выполняется архивация, затем сжатие, отдельными программами. Автоматический запуск некоторых утилит сжатия для только что созданного архива поддерживается в tar и других подобных программах с помощью специальных опций.

Также полезной возможностью архивации есть шифрование. Но теперь давайте рассмотрим какие существуют утилиты, с помощью которых выполняется архивирование файлов linux и как ими пользоваться.

Tar

Tar - это стандартная утилита, с помощью которой выполняется архивирование файлов Linux. Постепенно из небольшой программы архивации она превратилась в мощный инструмент, поддерживающий работу со многими вариантами архивов и алгоритмами сжатия. Программа поддерживает большое количество параметров. Давайте рассмотрим ее синтаксис и основные параметры:

$ tar опцииf файл_для_записи /папка_файлами_для_архива

А теперь разберем основные опции:

  • A - добавить файл к архиву
  • c - создать архив в linux
  • d - сравнить файлы архива и распакованные файлы в файловой системе
  • j - сжать архив с помощью Bzip
  • z - сжать архив с помощью Gzip
  • r - добавить файлы в конец архива
  • t - показать содержимое архива
  • u - обновить архив относительно файловой системы
  • x - извлечь файлы из архива
  • v - показать подробную информацию о процессе работы
  • f - файл для записи архива
  • -C - распаковать в указанную папку
  • --strip-components - отбросить n вложенных папок

Теперь давайте рассмотрим архивирование файлов в Linux. Чтобы создать архив используйте такую команду:

tar -cvf archive.tar.gz /path/to/files

А чтобы распаковать архив tar linux:

tar -xvf archive.tar.gz

Очень просто запомнить для упаковки используется опция c - C reate, а для распаковки - x - eX tract.

Сжатый архив создается точно так же, только с опцией -z, это в случае, если использовалось шифрование gizp, если нужно bzip то применяется опция -j:

tar -zcvf archive.tar.gz /path/to/files

$ tar -zxvf archive.tar.gz

Например, рассмотрим как заархивировать папку в Linux:

tar -zcvf home.tar.gz ~/

Хотя можно поступить по-другому, тот же архив мы получим если сначала создать обычный архив с помощью tar, а потом сжать его утилитой для сжатия, только здесь мы получаем больше контроля над процессом сжатия:

gzip archive.tar

Также можно убрать сжатие:

gunzip archive.tar.gz

Утилиты сжатия мы рассмотрим ниже.

Чтобы добавить файл в архив используйте:

tar -rvf archive.tar file.txt

Для извлечения одного файла синтаксис тот же:

tar -xvf archive.tar file.txt

Можно извлечь несколько файлов по шаблону соответствия с помощью параметра wildcard, например, извлечем все php файлы:

tar -xvf archive.tar --wildcards "*.php"

По умолчанию распаковать архив tar linux можно в текущую папку с именем архива, чтобы распаковать в нужную папку используйте ключ -C:

tar -xvf archive.tar -C /path/to/dir

Стандартную утилиту рассмотрели, теперь кратко рассмотрим ее альтернативы. Их не так много, и большинство из них уже устаревшие.

Shar

Shar позволяет создавать самораспаковывающиеся архивы. По сути, это скрипт оболочки, и для распаковки ему необходима оболочка Bash или другая совместимая с Bourne Shell. У Shar есть несколько преимуществ, но также он потенциально небезопасный, так как архив представляет собой исполняемый файл.

Опции shar:

  • -o - сохранять архив в файл вместо стандартного вывода
  • -l - ограничить размер выходного файла
  • -L - ограничить размер выходного файла и разбить его на части
  • -n - имя архива не будет включено в заголовок
  • -a - разрешить автоматическую генерацию заголовков

Примеры использования shar для того чтобы заархивировать папку linux:

Создаем shar архив:

shar file_name.extension > filename.shar

Распаковываем shar архив:

Ar

ar - утилита для создания и управления архивами. В основном используется для архивации статических библиотек, но может быть использована для создания любых архивов. Раньше использовалась довольно часто но была вытеснена утилитой tar. Сейчас используется только для создания и обновления файлов статических библиотек.

  • - d - удалить модули из архива
  • - m - перемещение членов в архиве
  • - p - напечатать специфические члены архива
  • - q - быстрое добавление
  • - r - добавить члена к архиву
  • - s - создать индекс архива
  • - a - добавить новый файл к существующему архиву

Теперь рассмотрим примеры использования. Создадим статическую библиотеку libmath.a из объектных файлов substraction.o и division.o:

ar cr libmath.a substraction.o division.o

Теперь извлечем файлы из архива:

Таким образом, можно распаковать любую статическую библиотеку.

Cpio

cpio - означает Copy in and out (скопировать ввод и вывод). Это еще один стандартный архиватор для Linux. Активно используется в менеджере пакетов Red Hat, а также для создания initramfs. Архивация в Linux для обычных файлов с помощью этой программы не применяется.

Опции утилиты:

  • -a - сбросить время обращения к файлам после их копирования
  • -A - добавить файл
  • -d - создать каталоги при необходимости

Пример использования. Создаем cpio архив:

file1.o file2.o file3.o

ls | cpio -ov > /path/to/output_folder/obj.cpio

Распаковываем архив:

cpio -idv < /path/to folder/obj.cpio

Архивирование папки linux выполняется также само.

Сжатие архивов в Linux

Как создать архив в linux рассмотрели. Теперь давайте поговорим о сжатии. Как я говорил, для сжатия используются специальные утилиты. Рассмотрим кратко несколько из них

Gzip

Чаще всего применяется Gzip. Это стандартная утилита сжатия в Unix/Linux. Для декомпрессии используется gunzip или gzip -d Сначала рассмотрим ее синтаксис:

$ gzip опции файл

$ gunzip опции файл

Теперь разберем опции:

  • -c - выводить архив в стандартный вывод
  • -d - распаковать
  • -f - принудительно распаковывать или сжимать
  • -l - показать информацию об архиве
  • -r - рекурсивно перебирать каталоги
  • -0 - минимальный уровень сжатия
  • -9 - максимальный уровень сжатия

Примеры использования вы уже видели в описании утилиты tar. Например, выполним сжатие файла:

gzip -c файл > архив.gz

А теперь распакуем:

gunzip -c архив.gz

Но чтобы сжать папку в Linux вам придется сначала заархивировать ее с помощью tar, а уже потом сжать файл архива с помощью gzip.

Bzip

bzip2 - еще одна альтернативная утилита сжатия для Linux. Она более эффективная чем gzip, но работает медленнее. Для распаковки используйте утилиту bunzip2.

Описывать опции bzip2 я не буду, они аналогичны gzip. Чтобы создать архив в Linux используйте:

В текущем каталоге будет создан файл file.bz2

Lzma

Новый и высокоэффективный алгоритм сжатия. Синтаксис и опции тоже похожи на Gzip. Для распаковки используйте unlzma.

Xz

Еще один высокоэффективный алгоритм сжатия. Обратно совместимый с Lzma. Параметры вызова тоже похожи на Gzip.

Zip

Кроссплатформенная утилита для создания сжатых архивов формата zip. Совместимая с Windows реализациями этого алгоритма. Zip архивы очень часто используются для обмена файлами в интернете. С помощью этой утилиты можно сжимать как файлы, так и сжать папку linux.

Синтаксис утилиты:

$ zip опции файлы

$ unzip опции архив

Опции утилиты:

  • -d удалить файл из архива
  • -r - рекурсивно обходить каталоги
  • -0 - только архивировать, без сжатия
  • -9 - наилучший степень сжатия
  • -F - исправить zip файл
  • -e - шифровать файлы

Чтобы создать Zip архив в Linux используйте.

У вас есть проблема с открытием.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 с помощью следующих программ: 

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

Посещение этой страницы должно помочь Вам ответить конкретно на эти, или похожие вопросы:

  • Как открыть файл с расширением XZ?
  • Как провести конвертирование файла XZ в другой формат?
  • Что такое расширение формата файлов XZ?
  • Какие программы обслуживают файл XZ?

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

Что еще может вызвать проблемы?

Поводов того, что Вы не можете открыть файл XZ может быть больше (не только отсутствие соответствующего приложения).
Во-первых - файл XZ может быть неправильно связан (несовместим) с установленным приложением для его обслуживания. В таком случае Вам необходимо самостоятельно изменить эту связь. С этой целью нажмите правую кнопку мышки на файле XZ, который Вы хотите редактировать, нажмите опцию "Открыть с помощью" а затем выберите из списка программу, которую Вы установили. После такого действия, проблемы с открытием файла XZ должны полностью исчезнуть.
Во вторых - файл, который Вы хотите открыть может быть просто поврежден. В таком случае лучше всего будет найти новую его версию, или скачать его повторно с того же источника (возможно по какому-то поводу в предыдущей сессии скачивание файла XZ не закончилось и он не может быть правильно открыт).

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла XZ мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся и отправьте нам свою информацию о файле XZ.