Cómo descomprimo un tarball que usa .xz?

Estoy acostumbrado a extraer tarballs con un -xfz bandera, que maneja archivos gzip y bzip2.

Recientemente me he topado con un .tar.xz archivo y me gustaría descomprimirlo en un solo paso usando tar, ¿cómo puedo hacer eso?

Ubuntu incluye GNU tar, que reconoce el formato por sí mismo. Un comando funciona con cualquier método de compresión, por manual.

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

sucesivamente. Si el alquitrán da un Cannot exec error, es posible que deba sudo apt install xz-utils primero.

Tratar

tar -xJf file.pkg.tar.xz

El -J es la bandera que trata específicamente .archivos xz.

Si por alguna razón el tar las soluciones no funcionan (tal vez porque está utilizando las funciones integradas de OS X), intente esto:

unxz < file.tar.xz > file.tar

which que es equivalente a:

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

A continuación, utilice tar para descomprimir el archivo.

xz es un compresor de datos sin pérdidas. Tendrás que extraer la bola de alquitrán de xz y luego extraer el alquitrán:

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

Entonces sabes extraer un alquitrán

tar -xf my_archive.tar

Fuente: XZ Utils - Wikipedia.

Tuve el mismo problema, el tar xf el comando no pudo extraer it.To arregle esto, necesita instalar el xz-utils paquete.La solución era:

sudo apt-get install xz-utils

entonces:

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

-x - extraer archivos

-v - enumere detalladamente los archivos procesados

-f - utilice el archivo de almacenamiento especificado

Solo quiero agregar que si tiene una versión anterior de GNU tar antes de la versión 1.22, cuando las opciones --xz y-J estaban disponibles, se podía comprimir o descomprimir tar.archivos xz mediante el uso de --use-compress-program xz. Por ejemplo,

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

o

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

Si tar reconoce el formato de compresión, no necesita un indicador:

tar xvf *.tar.xz

Si necesita descomprimir la entrada manualmente, por ejemplo, porque su tar es demasiado antiguo para reconocer xz, o necesita una ruta especial:

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

Las tuberías son más rápidas que hacer un archivo intermedio sin comprimir y también usan menos espacio en disco.

Vaya, es una muy buena. ¿Se hizo con 7zip en una Mac? Prueba esto:

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

Me gusta dtrx

sudo apt install dtrxdtrx your-file.tar.xz

nota es posible que tenga que instalar ‘xz-utils’ si aún no está presente

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

aquí está mi pequeño script que adivina las banderas de alquitrán para usted: getting tired of guessing tar flags in 2013? · GitHub

Mejor pregunta que cómo hacer esto con tar: Use `unar ’ o ’ 7z ’ y nunca más se preocupe por elegir el programa adecuado para su tipo de archivo. Esta es la única solución factible de cara al futuro con la llegada de más y más tipos de archivos. A menos que te importen los detalles técnicos…