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?
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
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 -
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…