Estou acostumado a extrair tarballs com uma -xfz
bandeira, que lida com arquivos gzip e bzip2.
Recentemente, encontrei um .tar.xz
arquivo e gostaria de descompactá-lo em uma etapa usando tar
, como posso fazer isso?
tar
compression
Jorge Castro
fonte
fonte
xz-utils
se já não estiver presentetar --help
listatar
bandeiras.-xzf
aplica-se agzip
.-xjf
parabz2
.-xJf
paraxz
.Respostas:
O Ubuntu inclui o GNU tar, que reconhece o formato por si só! Um comando funciona com qualquer método de compactação suportado, de acordo com o manual .
etc. Se o tar der um
Cannot exec
erro, você pode precisarsudo apt install xz-utils
primeiro.fonte
tar: xz: Cannot exec: No such file or directory
, instalexz-utils
:sudo apt-get install xz-utils
tar
não requer mais o sinalizador específico?Experimentar
tar -xJf file.pkg.tar.xz
O
-J
sinalizador que lida especificamente com arquivos .xz.fonte
.xz
Se, por algum motivo, as
tar
soluções não funcionarem (talvez porque você esteja usando os recursos do OS X), tente o seguinte:… Que é equivalente a:
Em seguida, use
tar
para descompactar o arquivo.fonte
unxz < file.tar.xz | tar x
ou algo parecido.tar xf
não. Ubuntu 12.04unxz
não é equivalente axz -dc
, mas axz -d
. Então, para extrairfile.tar.xz
parafile.tar
, você simplesmente escreverunxz file.tar.xz
. Se você quiser um equivalentexz -dc
, descompactar para stdout, usexzcat
. Por exemploxzcat file.tar.xz | tar x
.xz é um compressor de dados sem perdas. Você terá que extrair a bola de alcatrão de xz e depois extrair o alcatrão:
Então você sabe extrair um alcatrão
Fonte: XZ Utils - Wikipedia .
fonte
xz
não precisa de redirecionamento stdout. Ainda melhor:unxz -k
Eu tive o mesmo problema, o
tar xf
comando não foi capaz de extraí-lo. Para corrigir isso, você precisa instalar oxz-utils
pacote. A solução foi:então:
fonte
-x
- extrair arquivos-v
- lista verbalmente os arquivos processados-f
- usar arquivo especificadofonte
Só quero acrescentar que, se você possui uma versão antiga do GNU tar anterior à versão 1.22, quando as opções --xz e -J ficaram disponíveis, você pode compactar ou descompactar arquivos tar.xz usando
--use-compress-program xz
. Por exemplo,ou
fonte
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!
fonte
Eu gosto de dtrx
fonte
Uau, isso é realmente bom. Foi feito com o 7zip em um Mac? Tente o seguinte:
fonte
tar J
=tar xz
, então podemos escrevertar xzf file.tar.xz
como "normal"tar xvfz file.tar.gz
. Então, basicamente, não há diferença. Não é necessário traço antes de usar o interruptor.O Ubuntu vem com o Python (Python 2.7 e Python 3), que contém os módulos necessários para extrair arquivos. Portanto, se por algum motivo o
tar
comando estiver ausente (digamos que seu sysadmin o tenha removido e você não tenhasudo
privilégios para instalá-lo), pode-se usar:Como um script curto, é mais legível como:
Suponha que eu criei um
.xz
arquivo comtar cJf thing.xz /etc/passwd
. O arquivo conterá oetc
diretório com opasswd
arquivo dentro. O uso do script acima resultará noetc
diretório criado no seu diretório de trabalho atual e dentro dele haverá umpasswd
arquivo. Obviamente, isso sempre pode ser estendido especificando o caminho onde você deseja extrair dentro daextractall()
função.fonte
unar
é um programa simples e fácil de digitar, desarquivar praticamente qualquer formato, incluindo 7z e RARparece estar escrito em (GNU) Objective-C e, portanto, requer a instalação de algumas
gnustep
bibliotecas (implementação de Objective-C do GNU) (gnustep-base-runtime
elibgnustep-base1.25
)se você usar --install-sugere ou tiver configurado
apt
para instalar pacotes sugeridos,unar
sugerirá e instalará muitos programas GUI GNUStep que não são o que você desejaele criará o diretório de saída
linux-source
automaticamente.fonte