Como faço para descompactar uma tarball que usa .xz?

Estou acostumado a extrair tarballs com um -xfz bandeira, que lida com arquivos gzip e bzip2.

Recentemente, encontrei um .tar.xz arquivo e eu gostaria de descompactá-lo em uma etapa usando tar, Como posso fazer isso?

Ubuntu inclui GNU tar, que reconhece o formato por si só! Um comando funciona com qualquer método de compressão suportado, por manual.

tar xf archive.tar.xztar xf archive.tar.gztar xf archive.tar

etc. Se o alcatrão der um Cannot exec erro, você pode precisar sudo apt install xz-utils primeiro.

Tentar

tar -xJf file.pkg.tar.xz

O -J é a bandeira que lida especificamente com .arquivos xz.

Se por algum motivo o tar as soluções não funcionam (talvez porque você esteja usando os embutidos do OS X), tente isso:

unxz < file.tar.xz > file.tar

... que é equivalente a:

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

Usar tar para desvencilhar o arquivo.

xz é um compressor de dados sem perdas. Você terá que extrair a bola de alcatrão do xz e depois extrair o alcatrão:

unxz my_archive.tar.xz      # results in my_archive.tar

Então você sabe extrair um alcatrão

tar -xf my_archive.tar

Fonte: XZ Utils - Wikipédia, a enciclopédia livre.

Eu tive o mesmo problema, o tar xf comando não foi capaz de extrair it.To corrigir isso, você precisa instalar o xz-utils pacote.A solução foi:

sudo apt-get install xz-utils

entao:

tar xf myfile.tar.xz
tar -xvf package.tar.xz

-x - extrair arquivos

-v - listar verbosamente os arquivos processados

-f - use arquivo de arquivo especificado

Só quero acrescentar que, se você tiver uma versão antiga do GNU tar antes da versão 1.22, quando as opções --XZ e-J se tornaram disponíveis, você pode compactar ou descompactar o tar.arquivos xz usando --use-compress-program xz. Por exemplo,

tar --use-compress-program xz -cf example.tar.xz file1 file2 file3

ou

tar --use-compress-program xz -xf example.tar.xz

Se o tar reconhecer o formato de compactação, você não precisará de um sinalizador:

tar xvf *.tar.xz

Se você precisar descompactar a entrada manualmente, por exemplo, porque seu tar é muito antigo para reconhecer xz, ou você precisa de um caminho especial:

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

Os Pipes são mais rápidos do que criar um arquivo intermediário descompactado e também usam menos espaço em disco!

Essa é muito boa. Foi feito com 7zip em um Mac? Experimentar:

7z x -so file.tar.xz | tar xf -

Eu gosto dtrx

sudo apt install dtrxdtrx your-file.tar.xz

observação você pode ter que instalar ‘xz-utils’ se ainda não estiver presente

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

aqui está o meu pequeno script que adivinha bandeiras de alcatrão para você: getting tired of guessing tar flags in 2013? · GitHub

Melhor pergunta a fazer do que como fazer isso com tar: Use ‘unar `ou’ 7z ’ e nunca se preocupe em Escolher o programa certo para o seu tipo de arquivo novamente. Esta é a única solução viável olhando para a frente com mais e mais tipos de arquivo chegando. A menos que você se importe com os detalhes técnicos…