8 votes

Comment puis-je mettre à jour ma version de `unzip` vers la version 6.00 ou supérieure ?

Il est fréquent que, lors de la décompression (lire : "ouvrir en double-cliquant"), certains fichiers de la base de données soient endommagés. .zip Les fichiers de l'application de la loi sur l'accès à l'information se traduisent par des fichiers de taille similaire. .cpgz fichier. Mais vous vous attendiez à un fichier ou un dossier décompressé.

Le programme de décompression par défaut dans OS X est '/System/Library/CoreServices/Archive Utility.app'.

Lorsque vous essayez de le décompresser dans le Terminal ( /usr/bin/unzip ), vous voyez ce qui suit :

$ 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)

J'ai Mavericks 10.9.5 en cours d'exécution, et un unzip -v nous apprend que nous sommes sur la version 5.52 :

$ 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.
...

Ce qui est amusant, c'est que le même fichier zip "corrompu" s'extrait correctement sur mon système CentOS. Il n'y a pas d'erreur et le fichier semble correct. Mon système CentOS utilise la version 6.00 de Unzip :

$ 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.
...

Ma question : Comment puis-je mettre à jour ma version de unzip à la version 6.00 ou supérieure ?

Et question affiliée : Ma nouvelle version d'unzip OS X aura-t-elle un effet sur l'unzip par défaut 'Archive Utility.app' ?

ps. Je préfère utiliser un gestionnaire de paquets comme brew au-dessus de la compilation à partir des sources. brew install unzip se traduit par des résultats : Error: No available formula for unzip

9voto

sdmeyers Points 2249

Utilisation de Homebrew (comme demandé) :

$ brew tap homebrew/dupes
$ brew install unzip

Ceci installera unzip à (compte tenu des valeurs par défaut) /usr/local/Cellar/unzip/6.0/bin/unzip

Vous pouvez alors l'aliaser en tant que unzip6 quelque part sur votre chemin.

Vous pouvez également essayer "The Unarchiver" à partir de l'app store. Bien plus utile que l'utilitaire d'archivage d'Apple.

MISE À JOUR

dupes a été déprécié dans Homebrew, donc brew tap homebrew/dupes n'est plus nécessaire. Tout ce dont vous avez besoin maintenant (en supposant que Homebrew soit installé) est :

brew install unzip

Vous pouvez ensuite ajouter un lien vers /usr/local/bin avec :

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

Maintenant, le système unzip devrait fonctionner avec unzip et la version 6 fonctionnera avec unzip6

3voto

jdecuyper Points 2690

Vous pouvez constater que p7zip fait ce que vous voulez. Utiliser brew install p7zip pour l'installer, puis lancez 7z -h pour obtenir de l'aide.

J'utilise 7z t sur un fichier zip de 20 Go au moment où j'écris ces lignes, afin de tester son intégrité. Unzip 5.52 et Unzip 6.0 se sont tous deux bloqués sur ce fichier.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X