Ich bin es gewohnt, Tarballs mit einem zu extrahieren -xfz
flag, das gzip- und bzip2-Archive verarbeitet.
Vor kurzem bin ich auf eine gestoßen .tar.xz
datei und ich möchte sie in einem Schritt mit dekomprimieren tar
, wie kann ich das machen?
Ich bin es gewohnt, Tarballs mit einem zu extrahieren -xfz
flag, das gzip- und bzip2-Archive verarbeitet.
Vor kurzem bin ich auf eine gestoßen .tar.xz
datei und ich möchte sie in einem Schritt mit dekomprimieren tar
, wie kann ich das machen?
Ubuntu enthält GNU tar, das das Format selbst erkennt! Ein Befehl funktioniert mit jeder unterstützten Komprimierungsmethode, pro Manual.
tar xf archive.tar.xztar xf archive.tar.gztar xf archive.tar
usw. Wenn Teer eine gibt Cannot exec
fehler, möglicherweise müssen Sie sudo apt install xz-utils
erst.
Versuchen
tar -xJf file.pkg.tar.xz
Der -J
ist die Flagge, mit der sich speziell befasst .xz-Dateien.
Wenn aus irgendeinem Grund die tar
lösungen funktionieren nicht (möglicherweise, weil Sie die integrierten OS X-Funktionen verwenden), versuchen Sie Folgendes:
unxz < file.tar.xz > file.tar
...was äquivalent ist zu:
xz -dc < file.tar.xz > file.tar
Dann benutze tar
um die Datei zu entpacken.
xz ist ein verlustfreier Datenkompressor. Sie müssen die Teerkugel aus xz extrahieren und dann den Teer extrahieren:
unxz my_archive.tar.xz # results in my_archive.tar
Dann weißt du, wie man einen Teer extrahiert
tar -xf my_archive.tar
Quelle: XZ Utils - Wikipedia.
Ich hatte das gleiche Problem, das tar xf
befehl konnte nicht extrahieren it.To beheben Sie dies, Sie müssen das installieren xz-utils
Paket.Die Lösung war:
sudo apt-get install xz-utils
dann:
tar xf myfile.tar.xz
tar -xvf package.tar.xz
-x
- dateien extrahieren
-v
- verarbeitete Dateien ausführlich auflisten
-f
- angegebene Archivdatei verwenden
Ich möchte das nur hinzufügen, wenn Sie eine alte Version von haben GNU tar vor Version 1.22, als die Optionen --xz und -J verfügbar wurden, konnten Sie tar komprimieren oder dekomprimieren.xz-Dateien mit --use-compress-program xz
. Beispielsweise,
tar --use-compress-program xz -cf example.tar.xz file1 file2 file3
oder
tar --use-compress-program xz -xf example.tar.xz
Wenn tar das Komprimierungsformat erkennt, benötigen Sie kein Flag:
tar xvf *.tar.xz
Wenn Sie die Eingabe manuell dekomprimieren müssen, z. B. weil Ihr tar zu alt ist, um xz zu erkennen, oder Sie einen speziellen Pfad benötigen:
xz -cd *.tar.xz | tar xvf -
Pipes sind schneller als das Erstellen einer unkomprimierten Zwischendatei und verbrauchen auch weniger Speicherplatz!
Wow, das ist wirklich gut. Wurde es mit 7zip auf einem Mac gemacht? Versuchen Sie dies:
7z x -so file.tar.xz | tar xf -
beachten Sie, dass Sie möglicherweise `xz-utils’ installieren müssen, falls noch nicht vorhanden
tar --help
lists tar
flags.
-xzf
applies to gzip
.
-xjf
to bz2
.
-xJf
to xz
.
hier ist mein kleines Skript, das Tar-Flags für Sie errät: getting tired of guessing tar flags in 2013? · GitHub
Bessere Frage als mit tar: Verwenden Sie unar' oder
7z` und machen Sie sich nie wieder Sorgen, das richtige Programm für Ihren Archivtyp auszuwählen. Dies ist die einzig praktikable Lösung für die Zukunft, da immer mehr Archivtypen kommen. Es sei denn, Sie interessieren sich für die technischen Details…