error de descompresión "No se encontró la firma del final del directorio central"

96

Intento descomprimir un archivo zip, pero recibí un error:

$ unzip COCR2_100.zip 
Archive:  COCR2_100.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
note:  COCR2_100.zip may be a plain executable, not an archive
unzip:  cannot find zipfile directory in one of COCR2_100.zip or
        COCR2_100.zip.zip, and cannot find COCR2_100.zip.ZIP, period.

Busqué en Google pero no encontré una solución. Me preguntaba por qué es y cómo debería solucionarlo. ¡Gracias!

El archivo zip se puede descargar desde COCR2_100 . Es una aplicación, y aquí está su sitio web http://users.belgacom.net/chardic/cocr2.html .

Mi sistema operativo es 10.10.

Tim
fuente
Pude descargar y extraer el programa sin ningún problema usando el enlace espejo. Tal vez su descarga es corrupta? aquí está mi salida md5sum en el archivo: a55352aac3193948478952dea33828ef /home/chuck/Desktop/COCR2_100.zip
Ctuchik
2
Si md5sum el archivo y obtiene el mismo resultado "a55352aac3193948478952dea33828ef" Entonces su descarga es buena, pero si no es EXACTAMENTE igual, entonces su descarga está corrupta
Ctuchik
@ Ctuchik: ¡Gracias! El espejo uno es bueno. El original está roto.
Tim
np bud, me alegro de poder servirle.
Ctuchik
55
Utilice el más robusto jar xvf archive.zip, o intente arreglar el archivo con zip -F archive.zip -O archive-fixed.zip(o -FF, vea man zip).
Zaz

Respuestas:

27

El problema es exactamente lo que dice. Descomprimir no puede encontrar la línea de código que señala el final del archivo, así que:

  1. El archivo está corrupto.
  2. No es un archivo .zip.
  3. Hay más de 1 partes en el archivo, pero eso no me parece posible. Deberías probar el otro espejo también. Funcionó para mi.

PS Observe cómo se hace el programa para Windows. Entonces necesita Wine (desde http://www.winehq.com o el Centro de software de Ubuntu) para ejecutarlo.

Thomas
fuente
2
Parece que "descomprimir" no es muy robusto y, por lo tanto, no puede hacer frente a archivos corruptos (o descargados de forma incompleta).
loevborg
No exactamente, puedo desempacar such filepor Winrar u otras herramientas populares de Windows. Archivo de ejemplo stanford-chinese-corenlp-2016-10-31-models.jaren nlp.stanford.edu/software/CRF-NER.shtml .
Mithril
162

Prueba esta excelente solución:

jar xvf COCR2_100.zip

pasos:

  1. arrastre y suelte el archivo en la ventana de terminal.
  2. use las flechas del teclado para navegar hasta el inicio de la línea en la terminal
  3. escriba jar xvfdelante de su nombre de archivo, recordando dejar espacio antes del comienzo de su nombre de archivo.
  4. toma una cerveza y mira cómo la terminal hace su magia mientras extrae archivos.

La ubicación de dónde van los archivos nuevos varía, pero generalmente el mejor truco para encontrarlos es hacer clic en el nombre de su computadora en Finder, que debería mostrar la actividad más reciente en la parte superior de todos los archivos.

Si el jarcomando no está disponible, puede instalarlo fastjarpegando lo siguiente en la terminal:

sudo apt-get install fastjar
青色 衣衫
fuente
10
@EliahKagan no lo es, pero el truco funciona
Christoph Walesch
66
Esto funcionó mágicamente para mí. +1
Yahel
3
¡Wow, esto es exactamente lo que estaba buscando! Debería ser la respuesta aceptada. ¿Alguna idea de por qué esto funciona?
Willem Ellis
44
Creo que esto funciona para archivos corruptos (o descargados de forma incompleta) porque la jarutilidad no comprueba la End-of-central-directoryfirma antes de comenzar la extracción. Si ese es realmente el caso, es probable que no pueda extraer todos los archivos y que la utilidad termine con un error como Unexpected end of ZLIB input streamal final.
Chirag Bhatia - chirag64
55
Votado. Gracias: fue un dolor de cabeza reparar un zip de 6.5Gb con "zip -FF": el archivo "arreglado" producido fue la copia original del archivo dañado (incompleto). Sabía que los archivos .jar son zip internos, pero nunca usé el ejecutable jar para descomprimir archivos zip :-)
Troublemaker-DV
20

Descomprimir con 7z funcionó para mí:

7z x COCR2_100.zip

Instalar a través de APT con apt install p7zip-full.

Campa
fuente
Gracias @Campa 7zme ayudó a abrir un zip cifrado con contraseña con un problema similar.
Cyril
@Campa Gracias, tenía problemas para descomprimir con artifacory, compilación de la aplicación elixir.
ShreePool
6

Tuve un problema similar hoy y tuve cierto éxito con dd y gunzip. Prueba esto:

dd if=corrupt.zip | gunzip -f > xx.csv

En mi caso, todavía recibí el error "gunzip: stdin: final inesperado del archivo", pero al menos obtuve algo de salida para ver.

gd2010
fuente
Descubrí que zcat corrupt.zip > xx.csvhacía casi exactamente lo mismo ...
Wilf
1
¿Por qué lo publicas como un csv?
Daniel Pendergast
2

El error puede ser causado al mezclar tipos de archivo:

Me di cuenta de que al usar unzip, pero en un gunziparchivo (GNU) obtendría este error, por ejemplo

No se encuentra la firma del final del directorio central. O este archivo no es un archivo zip o constituye un disco de un archivo de varias partes. En este último caso, el directorio central y el comentario del archivo zip se encontrarán en los últimos discos de este archivo. descomprimir: no puede encontrar el directorio zipfile en uno de create_tables.sql.gz o create_tables.sql.gz.zip, y no puede encontrar create_tables.sql.gz.ZIP, punto ".

Utilizando gunzipen este mismo archivo realizado sin errores. !!

Vista elíptica
fuente
1

Creo que los chicos / chicas que te respondieron están en el camino correcto, es muy bien un archivo dañado. Si ese es el caso, intente con otro espejo para descargar el archivo. Puede intentar instalar rar abriendo la terminal, sudo apt-get install rar que para un verdadero archivo zip rar es un poco exagerado. Sin embargo, agrega soporte para otros formatos y le permite extraer diferentes tipos de archivos.

pájaro libre
fuente