J'ai l'habitude d'extraire les tarballs avec une -xfz
qui gère les archives gzip et bzip2.
Récemment, je suis tombé sur un .tar.xz
et je voudrais le décompresser en une seule étape en utilisant tar
Comment puis-je faire ça ?
J'ai l'habitude d'extraire les tarballs avec une -xfz
qui gère les archives gzip et bzip2.
Récemment, je suis tombé sur un .tar.xz
et je voudrais le décompresser en une seule étape en utilisant tar
Comment puis-je faire ça ?
Ubuntu est livré avec Python (Python 2.7 et Python 3), qui contient les modules nécessaires à l'extraction d'archives. Ainsi, si pour une raison quelconque tar
est manquante (disons que votre administrateur système l'a supprimée et que vous ne disposez pas de la commande sudo
privillege pour l'installer), on peut utiliser :
python3 -c 'import tarfile,sys; b = tarfile.open(sys.argv[1]);print(b.extractall())' ./archive.xz
Comme un court script, c'est plus lisible comme :
#!/usr/bin/env python3
import tarfile,sys
with tarfile.open( sys.argv[1] ) as fd:
fd.extractall()
Supposons que j'ai créé un .xz
avec tar cJf thing.xz /etc/passwd
. L'archive contiendra etc
avec passwd
à l'intérieur. En utilisant le script ci-dessus, vous obtiendrez les résultats suivants etc
créé dans votre répertoire de travail actuel, et à l'intérieur de celui-ci se trouvera passwd
fichier. Bien sûr, cela peut toujours être étendu en spécifiant le chemin d'accès où vous voulez extraire à l'intérieur de la balise extractall()
fonction.
unar
est un programme simple et facile à utiliser, qui permet de désarchiver presque tous les formats, y compris 7z et RAR.
il semble être écrit en Objective-C (GNU) et nécessite donc l'installation d'un certain nombre d'applications. gnustep
(l'implémentation Objective-C de GNU) des bibliothèques ( gnustep-base-runtime
et libgnustep-base1.25
)
si vous utilisez --install-suggests ou si vous avez configuré apt
pour installer les paquets suggérés, unar
suggérera et installera de nombreux programmes GUI GNUStep qui ne sont pas ce que vous voulez.
sudo apt install --no-install-suggests unar
unar linux-source.tar.xz
il créera le répertoire de sortie linux-source
automatiquement.
Meilleure réponse (bien que la question mentionne spécifiquement l'utilisation de goudron pour ce travail...). Depuis que j'ai installé ce programme, je n'ai plus jamais eu besoin de chercher comment décompresser l'archive X. Toutes ces connaissances sont encodées dans ce programme. Toutes ces connaissances sont encodées dans ce programme. C'est exactement comme ça que tout devrait être travailler ensemble ...
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
12 votes
Notez que vous devrez peut-être installer
xz-utils
si elle n'est pas déjà présente5 votes
tar --help
listestar
drapeaux.-xzf
s'applique àgzip
.-xjf
abz2
.-xJf
axz
.0 votes
Meilleure question à poser que celle de savoir comment faire avec du goudron : Utilisez
unar
ou7z
et ne vous souciez plus jamais de choisir le bon programme pour votre type d'archives. C'est la seule solution envisageable avec l'arrivée de plus en plus de types d'archives. À moins que vous ne vous intéressiez aux détails techniques...0 votes
pypi.org/projet/unp
0 votes
Voici mon petit script qui devine les tar flags pour vous : gist.github.com/shime/5908634