Ich bin es gewohnt, Tarballs mit einem -xfz
Flag zu extrahieren, das gzip- und bzip2-Archive behandelt.
Kürzlich bin ich auf eine .tar.xz
Datei gestoßen und möchte sie in einem Schritt mit dekomprimieren tar
. Wie kann ich das tun?
tar
compression
Jorge Castro
quelle
quelle
xz-utils
wenn nicht bereits vorhandentar --help
listettar
Flags auf.-xzf
gilt fürgzip
.-xjf
zubz2
.-xJf
zuxz
.Antworten:
Ubuntu enthält GNU tar, das das Format von selbst erkennt! Ein Befehl funktioniert mit jeder unterstützten Komprimierungsmethode gemäß Handbuch .
usw. Wenn tar einen
Cannot exec
Fehler ausgibt, müssen Sie möglicherweisesudo apt install xz-utils
zuerst.quelle
tar: xz: Cannot exec: No such file or directory
xz-utils
sudo apt-get install xz-utils
tar
das jeweilige Flag nicht mehr erforderlich?Versuchen
tar -xJf file.pkg.tar.xz
Das
-J
ist das Flag, das sich speziell mit .xz-Dateien beschäftigt.quelle
.xz
Wenn die
tar
Lösungen aus irgendeinem Grund nicht funktionieren (möglicherweise, weil Sie die integrierten OS X-Funktionen verwenden), versuchen Sie Folgendes:… Was äquivalent ist zu:
Verwenden Sie dann
tar
, um die Datei zu entpacken.quelle
unxz < file.tar.xz | tar x
oder ähnlich machen.tar xf
nicht. Ubuntu 12.04unxz
ist das nicht gleichbedeutend mitxz -dc
, sondern mitxz -d
. So extrahierenfile.tar.xz
zufile.tar
, würde man einfach schreibenunxz file.tar.xz
. Wenn Sie ein Äquivalent zuxz -dc
, dekomprimieren zu stdout, verwenden Siexzcat
. Zum Beispielxzcat file.tar.xz | tar x
.xz ist ein verlustfreier Datenkompressor. Sie müssen den Teerball aus xz extrahieren und dann den Teer extrahieren:
Dann wissen Sie, einen Teer zu extrahieren
Quelle: XZ Utils - Wikipedia .
quelle
xz
benötigt keine stdout Weiterleitung. Noch besser:unxz -k
Ich hatte das gleiche Problem, der
tar xf
Befehl konnte es nicht extrahieren. Um dies zu beheben, müssen Sie dasxz-utils
Paket installieren . Die Lösung war:dann:
quelle
-x
- Dateien extrahieren-v
- Verarbeitete Dateien ausführlich auflisten-f
- Verwenden Sie die angegebene Archivdateiquelle
Ich möchte nur hinzufügen, dass Sie tar.xz-Dateien mit komprimieren oder dekomprimieren können , wenn Sie eine alte Version von GNU tar vor Version 1.22 haben, als die Optionen --xz und -J verfügbar wurden
--use-compress-program xz
. Zum Beispiel,oder
quelle
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 Teer zu alt ist, um xz zu erkennen, oder wenn Sie einen speziellen Pfad benötigen:
xz -cd *.tar.xz | tar xvf -
Pipes sind schneller als das Erstellen einer unkomprimierten Zwischendatei und belegen auch weniger Speicherplatz!
quelle
Ich mag DTRX
quelle
Wow, das ist wirklich gut. Wurde es mit 7zip auf einem Mac gemacht? Versuche dies:
quelle
tar J
=tar xz
, also könnten wir sogartar xzf file.tar.xz
wie "normal" schreibentar xvfz file.tar.gz
. Also im Grunde kein Unterschied. Vor Verwendung des Schalters ist kein Bindestrich erforderlich.Ubuntu wird mit Python (Python 2.7 und Python 3) ausgeliefert, das die erforderlichen Module zum Extrahieren von Archiven enthält. Wenn also aus irgendeinem Grund der
tar
Befehl fehlt (sagen Sie, Ihr Sysadmin hat ihn entfernt und Sie haben keinesudo
Berechtigung, ihn zu installieren), können Sie Folgendes verwenden:Als kurzes Skript ist dies lesbarer als:
Angenommen, ich habe eine
.xz
Datei mit erstellttar cJf thing.xz /etc/passwd
. Das Archiv enthält einetc
Verzeichnis mit einer darin enthaltenenpasswd
Datei. Die Verwendung des obigen Skripts führt dazu, dass einetc
Verzeichnis in Ihrem aktuellen Arbeitsverzeichnis erstellt wird und sich darin einepasswd
Datei befindet. Natürlich kann dies jederzeit erweitert werden, indem der Pfad angegeben wird, den Sie in derextractall()
Funktion extrahieren möchten .quelle
unar
ist ein ziemlich nettes einfaches Programm und einfach zu tippen, um fast jedes Format einschließlich 7z und RAR zu entarchivierenes scheint in (GNU) Objective-C geschrieben zu sein und erfordert daher die Installation einiger
gnustep
(GNUs Objective-C-Implementierung) Bibliotheken (gnustep-base-runtime
undlibgnustep-base1.25
)Wenn Sie --install-suggestions verwenden oder die
apt
Installation vorgeschlagener Pakete konfiguriert haben ,unar
werden viele GUI GNUStep-Programme vorgeschlagen und installiert, die nicht Ihren Wünschen entsprechenDas Ausgabeverzeichnis wird
linux-source
automatisch erstellt.quelle