Tar.exe unter Windows 10 der neue Tausendsassa


Mit Windows 10 v1803 wurde ein neues Utility-Programm von Microsoft ins Windows-System mitaufgenommen. Es handelt sich um TAR.EXE. Tar ist unter Linux im Dauereinsatz aber auch bei Mac OS X verfügbar. Bei Windows handelt es sich um ein reines 32- bzw. 64-Bit Windows Anwendungsprogramm und ist unter 32- und 64-Bit Windowsversionen vorhanden. Obwohl die EXE tar genannt wird, handelt es sich eigentlich um BSDTar, welches primär auch beim Mac zum Einsatz kommt. Die Besonderheit von BSDTar ist, dass es auf libarchive aufsetzt, d. h. viele Features werden durch libarchive definiert. Tar.EXE ist bereits bei einer einfachen Grundinstallation sofort verfügbar. Es hat auch nichts mit dem Windows Linux Subsystem zu tun, welches ihre eigenen tar-Programme mitbringen. tar ist bei Servern ab Windows Server 2019, auch beim Hyper-V Server. Leider fehlt die Unterstützung in WinPE. Hier die offizielle Ankündigung von Microsoft tar unterstützen zu wollen: https://blogs.technet.microsoft.com/virtualization/2017/12/19/tar-and-curl-come-to-windows/.

Um zu wissen was alles mit Tar möglich ist, gilt es zuerst die Version herauszufinden, dazu ruft man

tar –version

auf, welches

bsdtar 3.3.2 – libarchive 3.3.2 zlib/1.2.5.f-ipp

liefert. Hiermit wird obige Aussage bei tar handelt es sich um bsdtar verdeutlicht. Auch wird damit libarchive klar. Um nun die Möglichkeiten und den Versionstand besser verstehen zu können, kann man hier nachschauen: http://www.libarchive.org/. Zum aktuellen Zeitpunkt gibt es die Version 3.3.3, also ist Microsoft recht nahe am Original. Übrigens hat Windows 10 v1809 keine neuere Version mitgebracht, stellt sich die Frage, ob Microsoft zukünftig die Version aktualisieren wird oder ob die Version auf ewig bei 3.3.2 verharren wird. Der Source Code zur Version 3.3.2 ist hier zu finden: https://github.com/libarchive/libarchive/tree/v3.3.2.

Was kann man nun mittels tar unter Windows tun? Jede Menge, nicht umsonst die Überschrift. tar kann ZIP-Dateien erstellen, sogar ZIP64-Dateien, also ZIP-Dateien größer als 4GB, dadurch kann man komplette Platten mittels tar sichern. tar kann auch die Dateien mit AES-128 oder AES-256 verschlüsseln, somit kann man Sicherungen erstellen, verschlüsseln und bedenkenlos in die Cloud schieben. tar kann auch mit ISO-Dateien umgehen und diese sogar erstellen. tar kann aber nicht nur mit normalen und großen ZIP-Dateien umgehen, sondern unterstützt auch 7-Zip-Dateien. Daneben noch viele andere Formate mehr. Es soll auch mit CAB-Dateien umgehen können, aber meine Versuche hiermit sind alle gescheitert.

Nun ein paar Anwendungsbeispiele.

Erzeugt eine Test.ISO-Datei mit den beiden Dateien Datei1.txt und Datei2.txt:

tar -cf test.iso –format=iso9660 datei1.txt datei2.txt

Erzeugt eine Test.ZIP-Datei mit den beiden Dateien Datei1.txt und Datei2.txt, wobei die Test.ZIP-Datei zusätzlich AES-256 verschlüsselt und mit dem Passwort password versehen wird:

tar -cf test.zip –format=zip –options=encryption=aes256 –passphrase=password datei1.txt datei2.txt

Wie oben beschrieben darf die resultierende ZIP-Datei auch größer als 4GB haben, unterstützt also ZIP64.

Dieses Beispiel listet den Inhalt einer ISO-Datei auf:

tar -tvf test.iso

Die gleiche Variante stellt auch den Inhalt von ZIP-Dateien dar. tar versucht dabei unabhängig von der Endung das passende Format zu erkennen. Ein angeben des Formats mittels –format=zip ist nicht erlaubt und wird mittels Fehler quittiert.

Natürlich kann man Dateien auch extrahieren:

tar -xvf test.zip

entpackt alle in Test.ZIP enthaltenen Dateien.

So toll tar unter Windows auch ist, hab ich leider noch keinen Parameter finden können, über den ein Fortschrittsbalken oder Hinweis ausgegeben werden kann. Gerade bei größeren Dateien wäre dies absolut hilfreich. Auch ist der Einsatz von Filtern per Kommandozeile nicht so klar. Ein weiteres Problem sind Dateien die gesichert werden sollen, die gerade in Benutzung sind, hier bricht tar einfach mit einer Fehlermeldung ab. Leider fehlt die Unterstützung für –ignore-read-error.

Aber ist vielleicht alles nur eine Frage der Zeit…

Positiv festzuhalten gilt vor allem, tar löst nun das Problem, dass man seither mittels ZIP64 gepackte oder mittels AES-verschlüsselte Dateien nicht ohne Bordmittel öffnen bzw. erstellen konnte. Zumindest für Kommandliner geht dies nun.

2 Antworten to “Tar.exe unter Windows 10 der neue Tausendsassa”

  1. Quirel Says:

    Wer tar.exe auf andere Windows-Systeme entführen möchte, der benötigt noch archiveint.dll, ebenfalls aus dem \Windows\System32-Verzeichnis. archiveint.dll enthält die eigentlichen Routinen für die ganzen ISO, ZIP usw. Formate. archiveint.dll ist also libarchive!

  2. Weitere Erkenntnisse zu Tar unter Windows 10 | Das nie endende Chaos! Says:

    […] diesem Artikel bin ich schon auf TAR.EXE unter Windows 10 eingegangen: https://newyear2006.wordpress.com/2018/10/21/tar-exe-unter-windows-10-der-neue-tausendsassa/. Nun habe ich weitere Erkenntnisse und diese möchte ich in diesem Artikel beschreiben. Dies wird […]

Hinterlasse einen Kommentar