Erstellen einer ZIP-Datei, die plattformübergreifend extrahiert

0

Ich muss eine große (6 GB +) Datei plattformübergreifend verteilen. Aus praktischen Gründen möchte ich es auf 2 GB + herunterzippen. Ich habe ursprünglich Mac OS 10.11 verwendet, um die ZIP-Datei mit dem Archivierungsdienstprogramm zu erstellen. Es wurde auf meinem Linux gut extrahiert, aber unter Windows 10 (mit dem Systemdienstprogramm) nicht extrahiert. Wenn ich die Originaldatei unter Linux komprimiere, kann ich sie unter Windows 10 extrahieren, aber unter Mac OS X kann sie nicht extrahiert werden. Wenn ich versuche, sie mit dem Befehlszeilenprogramm unzipunter Mac OS X zu extrahieren , wird die folgende Fehlermeldung angezeigt:

Archive:  UbuntuLTS.vdi.zip
warning [UbuntuLTS.vdi.zip]:  76 extra bytes at beginning or within zipfile
  (attempting to process anyway)
error [UbuntuLTS.vdi.zip]:  reported length of central directory is
  -76 bytes too long (Atari STZip zipfile?  J.H.Holm ZIPSPLIT 1.1
  zipfile?).  Compensating...
   skipping: UbuntuLTS.vdi           need PK compat. v4.5 (can do v2.1)

note:  didn't find end-of-central-dir signature at end of central dir.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

Auf dem Mac wird zip3.0 (5. Juli 2008) und unzip5.52 (28. Februar 2005) ausgeführt. Das Linux läuft mit zip3.0 (5. Juli 2008) und unzip6.00 (20. April 2009). Keine Ahnung, was Windows verwendet. Ich benötige die Zip-Datei, um sie unter Mac OS X, Linux und Windows (7, 8, 8.1 und 10) richtig extrahieren zu können. Ich möchte vermeiden, Leuten zu sagen, dass sie Programme von Drittanbietern herunterladen sollen. Ich würde auch gerne verstehen, was zum Teufel los ist. Ich hatte nie Probleme damit, dass das Zip-Format auf verschiedenen Plattformen nicht kompatibel ist.

Für jede von Ihnen vorgeschlagene Lösung ist ein sofort einsatzbereites Produkt nach Windows Vista ein Muss, da dies die größte Zielgruppe sein wird. Mir ist bewusst, dass es ein wenig unklar ist, darum zu bitten, dass es unter "Linux" funktioniert.

Jonas
quelle
Sie erstellen kein selbstextrahierendes Zip-Archiv, sondern nur ein normales Zip-Archiv? Verwenden Sie 64-Bit-Versionen von zip? Vielleicht hilft Ihnen superuser.com/q/394905/504096 bei der Beantwortung Ihrer Frage dieser Text ( en.wikipedia.org/wiki/Zip_%28file_format%29#ZIP64 )? Ursprünglich erlaubte der Zip-Standard nur die Komprimierung von 4 GB (nicht die Größe der resultierenden Archivdatei).
Daniel.neumann
Die Größenbeschränkung war mir nicht bekannt. Es scheint dann, der Schuldige ist, dass Mac OS X ZIP64-Entpacken nicht unterstützt. Aus der von Ihnen angegebenen Wikipedia-Referenz würde ich schließen, dass alle Windows-Versionen nach XP ZIP64 unterstützen. Für OS X-Benutzer muss ich möglicherweise einen alternativen .tar.gz-Download bereitstellen. Großartige Arbeit, Apple.
Jonas
Anscheinend unterstützt die Version 6.0 von unzip für Mac größere Dateien ( unix.stackexchange.com/a/220054 , macupdate.com/app/mac/35967/unzip ). Hier einige weitere Hinweise zum Beziehen der Version 6.0: apple.stackexchange.com/q/149080 . Ist das eine Antwort auf Ihre Frage wert?
Daniel.neumann
Wenn Sie sich die Mühe machen möchten, dies als Antwort erneut zu veröffentlichen, nehme ich es gerne an. Leider kann ich nicht davon ausgehen, dass mein Publikum etwas über Homebrew installieren kann, daher werde ich mich an ein separates tar.gz halten.
Jonas
Es gibt eine Mac-Version des Windows-Programms 7zip. Vielleicht ist es für Ihr Publikum möglich, es zu installieren. Vielen Dank für die Annahme der Antwort.
Daniel.neumann

Antworten:

1

unzipVersionen vor Version 6.0 unterstützen das Extrahieren von ZIP-Dateien, die größer als 4 GB sind, nicht als unkomprimierte Dateien (oder 2 GB, http://www.info-zip.org/FAQ.html#limits ). Siehe zum Beispiel https://superuser.com/a/394915/504096 und https://unix.stackexchange.com/a/220054 .

Leider ist die unzipvon MacOS bereitgestellte Standardversion nicht 6.0, sondern 5.X. Die Version 6.0 für MacOS erhalten Sie hier: http://www.macupdate.com/app/mac/35967/unzip . Dieser Artikel beschreibt die Installation von Version 6: https://apple.stackexchange.com/q/149080

Zusätzlich unzipmuss mit den Optionen kompiliert werden LARGE_FILE_SUPPORTund ZIP64_SUPPORTum Dateien über 2 Gb / 4 Gb verarbeiten zu können. In der Regel sollte dies der Fall sein. Um herauszufinden, ob dies unzipentsprechend kompiliert wurde, geben Sie Folgendes ein unzip -version. Die Ausgabe sollte ungefähr so ​​aussehen:

UnZip 6.00 of 20 April 2009 ...
...
UnZip special compilation options:
...
LARGE_FILE_SUPPORT (large files over 2 GiB supported)
ZIP64_SUPPORT (archives using Zip64 for large files supported)
....

Eine Alternative dazu unzipwar die Verwendung, 7zipdie für Nicht-Windows-Betriebssysteme - wie MacOS (benannt 7zX) - inoffiziell verfügbar ist .

daniel.neumann
quelle