Wie kann ich meine Version von „unzip“ auf Version 6.00 oder höher aktualisieren?

Es ist ein häufiges Problem, dass einige Dateien beim Entpacken (sprich: „Öffnen per Doppelklick“) .zipzu einer ähnlich großen .cpgzDatei führen. Aber Sie haben stattdessen eine entpackte Datei oder einen entpackten Ordner erwartet.

Das standardmäßige Entpackprogramm in OS X ist „/System/Library/CoreServices/Archive Utility.app“.

Wenn Sie versuchen, es im Terminal ( /usr/bin/unzip) zu entpacken, sehen Sie Folgendes:

$ unzip SE.zip

Archive:  SE.zip
warning [SE.zip]:  zipfile claims to be last disk of a multi-part archive;
  attempting to process anyway, assuming all parts have been concatenated
  together in order.  Expect "errors" and warnings...true multi-part support
  doesn't exist yet (coming soon).
error [SE.zip]:  missing 8256083459 bytes in zipfile
  (attempting to process anyway)
error [SE.zip]:  attempt to seek before beginning of zipfile
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

Ich habe Mavericks 10.9.5 am Laufen und a unzip -verfährt uns, dass wir auf Version 5.52 sind:

$ unzip -v
UnZip 5.52 of 28 February 2005, by Info-ZIP.  Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
...

Das Lustige ist, dass dieselbe "korrupte" Zip-Datei auf meinem CentOS-System problemlos extrahiert wird. Es gibt keinen Fehler und die Datei scheint in Ordnung zu sein. Auf meinem CentOS-System läuft die unzip-Version 6.00:

$ unzip -v
UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
...

Meine Frage: Wie kann ich meine Version von unzipauf Version 6.00 oder höher updaten?

Und die damit verbundene Frage: Wird meine neue Version von OS X unzip auch Auswirkungen auf das Standard-Unzip „Archive Utility.app“ haben?

p.s. Ich bevorzuge die Verwendung eines Paketmanagers wie brewoben beim Kompilieren aus dem Quellcode. brew install unzipergibt:Error: No available formula for unzip

Verwenden Sie Macports, es hat Version 6.0 entpackt :)
ha ha Brew vs. Macports ... Ich habe mein System bereits mit Brew mariniert. Aber vielleicht kann ich die Quelle überprüfen. Danke trotzdem!
Wurde Ihre "verbundene" Frage beantwortet? "Wird sich meine neue Version von OS X unzip auch auf das standardmäßige Entpacken von 'Archive Utility.app' auswirken?" Ich habe mich das gleiche gefragt.

Antworten (2)

Verwendung von Homebrew (wie gewünscht):

$ brew tap homebrew/dupes
$ brew install unzip

Dadurch wird entpackt unter (unter Berücksichtigung der Standardeinstellungen) installiert./usr/local/Cellar/unzip/6.0/bin/unzip

Sie können es dann als unzip6irgendwo in Ihrem Pfad aliasieren.

Vielleicht möchten Sie auch "The Unarchiver" aus dem App Store ausprobieren. Meiner Meinung nach viel nützlicher als das Archivdienstprogramm von Apple.

AKTUALISIEREN

dupes wurde in Homebrew als veraltet markiert und ist daher brew tap homebrew/dupesnicht mehr erforderlich. Alles, was Sie jetzt brauchen (vorausgesetzt, Homebrew ist installiert), ist:

brew install unzip

Dann können Sie einen Link hinzufügen /usr/local/binmit:

ln -s /usr/local/opt/unzip/bin/unzip /usr/local/bin/unzip6

Jetzt unzipsollte das System mit unzipVersion 6 funktionierenunzip6

Mir fehlte die brew tap homebrew/dupes. Keine Ahnung, was das ist, aber jetzt kann ich eine Brew-Installation entpacken. Vielen Dank.
Obwohl ich jetzt ein funktionierendes unzip 6.0.0 habe, genau wie ich es wollte, habe ich jetzt einen neuen Fehler. Vielleicht könnt ihr mir dabei helfen, aber das geht über dieses Thema hinaus. skipping: foobar need PK compat. v4.5 (can do v2.1)für jede Datei in der ZIP-Datei.
Kann das Problem nicht lösen, obwohl ich vermute, dass die Datei mit PKZip gezippt wurde und etwas ... Einzigartiges getan hat
Übrigens öffnet der Tap-Befehl neue Apps in Brew, die aus verschiedenen Gründen nicht in der Standardeinstellung enthalten sind (insbesondere werden neue spezifische Homebrew-Git-Repos hinzugefügt). Dazu gehören Dinge wie dupes, games, und phpetc.
Falls jemand auf diese Seite gelangt, weil beim Entpacken großer Zip-Dateien ein Fehler auftritt, gehen Sie zu The Unarchiver im Link. Hat für mich funktioniert.
Dieser Noob möchte wissen: Was meinen Sie, wenn Sie sagen: "Sie können es dann irgendwo in Ihrem Pfad als unzip6 aliasieren."? Warum sollte jemand das tun wollen? Wenn jemand es tut, wie würde der Alias ​​in Zukunft verwendet werden?
@EJMak Die Verwendung der Unarchiver-App ist möglicherweise die beste Wahl. Das heißt ... Wenn Homebrew etwas installiert, das bereits Teil von MacOS ist (z. B. unzip), wird es nicht verknüpft , sodass es einfach verwendet werden kann. Im Fall von unzipHomebrew wird es installiert /usr/local/opt/unzip/bin/unzip. Um einen Alias ​​oder einen Link zu erstellen , verwenden Sie den folgenden Befehl (von der Befehlszeile (terminal.app)) ln -s /usr/local/opt/unzip/bin/unzip /usr/local/bin/unzip6. Angenommen, /usr/local/bin befindet sich in Ihrem Pfad, können Sie dies unzip6von der Befehlszeile aus verwenden oder unzipdie Mac-Standardeinstellung verwenden.

Sie können feststellen, dass p7zip das tut, was Sie wollen. Zum Installieren verwenden brew install p7zip, dann ausführen 7z -h, um Hilfe zu erhalten.

Ich verwende 7z teine 20-GB-Zip-Datei, während ich dies schreibe, um ihre Integrität zu testen. Sowohl Unzip 5.52 als auch Unzip 6.0 verschluckten sich daran.

Ja! Beispielsweise funktioniert p7zip sehr gut, um Microsofts IE-VM-Images zu dekomprimieren, die 5 GB+ groß sind.
Cool, aber es beantwortet nicht die Frage.