Как мне распаковать архив, который использует .xz?

Я привык извлекать архивные файлы с флагом -xfz, который обрабатывает архивы gzip и bzip2.

Недавно я столкнулся с файлом .tar.xz, и я хотел бы распаковать его за один шаг с помощью tar, как я могу это сделать?

Ubuntu включает GNU tar, который сам распознает формат! Одна команда работает с любым поддерживаемым методом сжатия, за "GNU tar 1.34 " rel=“noreferrer” руководство пользователя.

архив tar xf.tar.xz

tar xf archive.tar.gz архив tar xf.tar

и т.д. Если tar выдает ошибку Cannot exec, вам может потребоваться сначала установить xz-utils с помощью sudo apt.

Попробуй

файл tar -xjf.pkg.tar.xz

-J - это флаг, который конкретно относится к файлам .xz.

Если по какой-то причине решения tar не работают (возможно, потому, что вы используете встроенные модули OS X), попробуйте это:

unxz < file.tar.xz > file.tar

…что эквивалентно:

xz -dc < file.tar.xz > file.tar

Затем используйте tar, чтобы удалить файл.

xz - это компрессор данных без потерь. Вам нужно будет извлечь шарик смолы из xz, а затем извлечь смолу:

unxz my_archive.tar.xz # приводит к my_archive.tar

Тогда вы знаете, как извлечь смолу

tar -xf my_archive.tar

Источник: "http://en.wikipedia.org/wiki/XZ_Utils " XZ Utils - Википедия.

У меня была та же проблема, команда tar xf не смогла ее извлечь.
Чтобы исправить это, вам необходимо установить пакет xz-utils.
Решение было таким:

sudo apt-get установить xz-utils

затем:

tar xf myfile.tar.xz

пакет tar -xvf.tar.xz

-x - извлекать файлы

-v - подробный список обработанных файлов

-f - использовать указанный архивный файл

Просто хочу добавить, что если у вас есть старая версия “Tar - GNU Project - Free Software Foundation /” rel=“nofollow noreferrer” GNU tar до версии 1.22, когда стали доступны опции --xz и -J, вы могли сжимать или распаковывать файлы tar.xz с помощью --use-compress-program xz. Например,

tar --use-compress-program xz -cf пример.tar.xz файл1 файл2 файл3

или

tar --use-compress-program xz -пример xf.tar.xz

Если tar распознает формат сжатия, вам не нужен флаг:

tar xvf *.tar.xz

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

xz -cd *.tar.xz | tar xvf -

Каналы работают быстрее, чем создание несжатого промежуточного файла, и к тому же занимают меньше места на диске!

Вау, это действительно хорошая идея. Было ли это сделано с помощью 7zip на Mac? Попробуй это:

7z x -so файл.tar.xz | tar xf -

I like “GitHub - dtrx-py/dtrx: Do The Right Extraction” rel=“nofollow noreferrer” dtrx

sudo apt install dtrx
dtrx your-file.tar.xz

примечание. возможно, вам придется установить “xz-utils”, если он еще не установлен

tar --help lists tar flags.
-xzf applies to gzip.
-xjf to bz2.
-xJf to xz.

Лучший вопрос, который можно задать, чем как это сделать с помощью tar: используйте unar или 7z и никогда больше не беспокойтесь о выборе правильной программы для вашего типа архива. Это единственное возможное решение, которое с нетерпением ждет появления все новых и новых типов архивов. Если только вас не волнуют технические детали…

вот мой маленький скрипт, который угадывает флаги tar для вас: getting tired of guessing tar flags in 2013? · GitHub