Ubuntu viene con Python (Python 2.7 y Python 3), que contiene los módulos necesarios para extraer archivos. Entonces, si por alguna razón tar
falta el comando (digamos que su administrador de sistemas lo ha eliminado y no tiene sudo
privilegios para instalarlo), puede usar:
python3 -c 'import tarfile,sys; b = tarfile.open(sys.argv[1]);print(b.extractall())' ./archive.xz
Como guión corto, eso es más legible como:
#!/usr/bin/env python3
import tarfile,sys
with tarfile.open( sys.argv[1] ) as fd:
fd.extractall()
Supongamos que creé un .xz
archivo con tar cJf thing.xz /etc/passwd
. El archivo contendrá un etc
directorio con el passwd
archivo dentro. El uso de la secuencia de comandos anterior dará como resultado un etc
directorio creado en su directorio de trabajo actual, y dentro de él habrá un passwd
archivo. Por supuesto, esto siempre se puede extender especificando la ruta donde desea extraer dentro de la extractall()
función.
xz-utils
si aún no está presente