¿Cómo puedo actualizar mi versión de 'descomprimir' a la versión 6.00 o superior?

7

Es un problema común que, cuando se descomprime (lea: 'abrir haciendo doble clic'), algunos archivos .zip resultan en un archivo .cpgz de tamaño similar. Pero esperabas un archivo o carpeta descomprimido en su lugar.

El programa de descompresión predeterminado en OS X es '/ System / Library / CoreServices / Archive Utility.app'

Cuando intenta descomprimirlo en la Terminal ( /usr/bin/unzip ) ve lo siguiente:

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

Tengo Mavericks 10.9.5 en ejecución, y un unzip -v nos descubre que estamos en la versión 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.
...

Lo gracioso es que el mismo archivo zip 'corrupto' extrae bien en mi sistema CentOS. No hay error y el archivo parece estar bien. Mi sistema CentOS ejecuta descomprimir la versión 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.
...

Mi pregunta: ¿Cómo puedo actualizar mi versión de unzip a la versión 6.00 o superior?

Y pregunta relacionada: ¿Mi nueva versión de OS X Unzip también afectará al descomprimir predeterminado 'Archive Utility.app'?

ps. Prefiero el uso de un gestor de paquetes como brew por encima de la compilación desde la fuente. brew install unzip resulta en: Error: No available formula for unzip

    
pregunta CousinCocaine 10.10.2014 - 14:35

2 respuestas

7

Uso de Homebrew (según lo solicitado):

$ brew tap homebrew/dupes
$ brew install unzip

Esto instalará unzip en (considerando los valores predeterminados) /usr/local/Cellar/unzip/6.0/bin/unzip

Luego puedes crear un alias como unzip6 en algún lugar de tu ruta.

También es posible que desee probar "The Unarchiver" en la tienda de aplicaciones. OMI mucho más útil que la Utilidad de archivo de Apple.

ACTUALIZAR

los duplicados han quedado en desuso en Homebrew, por lo que brew tap homebrew/dupes ya no es necesario Todo lo que necesita ahora (asumiendo que Homebrew está instalado) es:

brew install unzip

Luego puedes agregar un enlace a /usr/local/bin con:

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

Ahora el sistema unzip debería funcionar con unzip y la versión 6 funcionará con unzip6

    
respondido por el sdmeyers 10.10.2014 - 15:25
3

Es posible que p7zip haga lo que usted desea. Use brew install p7zip para instalar, luego ejecute 7z -h para obtener ayuda.

Estoy usando 7z t en un archivo zip de 20GB mientras escribo esto, para probar su integridad. Tanto Unzip 5.52 como Unzip 6.0 se ahogaron en él.

    
respondido por el George V. Reilly 05.12.2015 - 10:52

Lea otras preguntas en las etiquetas