erreur de décompression «Signature de fin de répertoire central introuvable»

96

J'essaie de décompresser un fichier zip, mais j'ai une erreur:

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

J'ai cherché sur Google mais je n'ai pas trouvé de solution. Je me demandais pourquoi et comment je devais le réparer? Merci!

Le fichier zip peut être téléchargé à partir de COCR2_100 . C'est une application, et voici son site web http://users.belgacom.net/chardic/cocr2.html .

Mon système d'exploitation est 10.10.

Tim
la source
J'ai pu télécharger et extraire le programme sans aucun problème en utilisant le lien miroir. Peut-être que votre téléchargement est corrompu? voici ma sortie md5sum sur le fichier: a55352aac3193948478952dea33828ef /home/chuck/Desktop/COCR2_100.zip
Ctuchik
2
Si vous md5sumez le fichier et obtenez le même résultat "a55352aac3193948478952dea33828ef", alors votre téléchargement est bon, mais s'il n'est pas exactement le même, votre téléchargement est corrompu
Ctuchik
@ Ctuchik: Merci! Le miroir est bon. L'original est cassé.
Tim
np bud, content que je puisse être utile.
Ctuchik
5
Utilisez le plus robuste jar xvf archive.zipou essayez de réparer l'archive avec zip -F archive.zip -O archive-fixed.zip(ou -FF, voir man zip).
Zaz

Réponses:

27

Le problème est exactement ce qu'il dit. Unzip ne trouve pas la ligne de code signalant la fin de l'archive, donc soit:

  1. L'archive est corrompue.
  2. Ce n'est pas une archive .zip.
  3. Les archives comportent plus d'une partie, mais cela ne me semble pas possible. Vous devriez aussi essayer l'autre miroir. Cela a fonctionné pour moi.

PS Notez comment le programme est conçu pour Windows. Vous avez donc besoin de Wine (à partir de http://www.winehq.com ou du Centre de logiciel Ubuntu) pour l’exécuter.

Thomas
la source
2
Il semble que "décompresser" n’est pas très robuste et ne peut donc pas gérer des archives corrompues (ou incomplètement téléchargées).
Loevborg
Pas exactement, je peux décompresser such fileavec Winrar ou d’autres outils Windows populaires. Exemple de fichier stanford-chinese-corenlp-2016-10-31-models.jarà l' adresse nlp.stanford.edu/software/CRF-NER.shtml .
Mithril
162

Essayez cette excellente solution:

jar xvf COCR2_100.zip

pas:

  1. glisser et déposer le fichier dans la fenêtre du terminal.
  2. utilisez les flèches du clavier pour naviguer jusqu'au début de la ligne dans le terminal
  3. tapez jar xvfen face de votre nom de fichier, en vous rappelant de laisser un espace avant le début de votre nom de fichier.
  4. attrapez une bière et regardez le terminal opérer sa magie alors qu'il extrait des fichiers.

L'emplacement des nouveaux fichiers varie, mais le meilleur moyen de les trouver est de cliquer sur le nom de votre ordinateur dans le Finder, ce qui devrait afficher l'activité la plus récente en haut de tous les fichiers.

Si la jarcommande n'est pas disponible, vous pouvez installer fastjaren collant ce qui suit dans le terminal:

sudo apt-get install fastjar
衣衫
la source
10
@EliahKagan ce n'est pas, mais l'astuce fonctionne
Christoph Walesch
6
Cela a fonctionné comme par magie pour moi. +1
Yahel
3
Wow c'est exactement ce que je cherchais! Faut-il être la réponse acceptée? Une idée pourquoi cela fonctionne?
Willem Ellis
4
Je pense que cela fonctionne pour les fichiers corrompus (ou incomplètement téléchargés) car l' jarutilitaire ne vérifie pas la End-of-central-directorysignature avant de commencer l'extraction. Si tel est vraiment le cas, il est probable que vous ne puissiez pas extraire tous les fichiers et que l'utilitaire se termine par une erreur comme Unexpected end of ZLIB input streamà la fin.
Chirag Bhatia - chirag64
5
Upvote. Merci: c’était un casse-tête de réparer un fichier zip de 6,5 Gb avec "zip -FF": une archive "corrigée" produite était la copie esact de l’original endommagé (incomplet). Je savais que les fichiers .jar étaient des zips internes, mais je n'ai jamais utilisé l'exécutable de jar pour décompresser les archives zip :-)
Troublemaker-DV
20

Décompresser avec 7z a fonctionné pour moi:

7z x COCR2_100.zip

Installer via APT avec apt install p7zip-full.

Campa
la source
Merci @Campa 7zm'a aidé à ouvrir un zip crypté par mot de passe avec le même problème.
Cyril
@Campa Merci, je faisais face à un problème pour décompresser avec artifacory, la construction de l'application elixir.
ShreePool
6

J'ai eu un problème similaire aujourd'hui et j'ai eu un certain succès avec dd et gunzip. Essaye ça:

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

Dans mon cas, j'ai toujours l'erreur "gunzip: stdin: fin de fichier inattendue" mais au moins, j'ai une sortie à afficher.

gd2010
la source
J'ai trouvé que zcat corrupt.zip > xx.csvc'était presque exactement la même chose ....
Wilf
1
Pourquoi le sortez-vous en tant que csv?
Daniel Pendergast
2

Une erreur peut être causée par le mélange de types d'archives:

J'ai remarqué qu'en utilisant unzip, mais sur une gunziparchive (GNU), j'obtiendrais cette erreur, par exemple

Signature de fin de répertoire central introuvable. Soit ce fichier n’est pas un fichier zip, soit il constitue un disque d’une archive multi-parties. Dans ce dernier cas, le répertoire central et le commentaire zipfile se trouvent sur le (s) dernier (s) disque (s) de cette archive. unzip: impossible de trouver le répertoire zipfile dans l'un des fichiers create_tables.sql.gz ou create_tables.sql.gz.zip, et impossible de trouver create_tables.sql.gz.ZIP, point ".

Utilisation gunzipsur cette même archive réalisée sans erreur. !!

Vue elliptique
la source
1

Je pense que les gars / filles qui vous ont répondu sont sur la bonne voie, c'est très bien un fichier corrompu. Si tel est le cas, essayez un autre miroir pour télécharger le fichier. Vous pouvez essayer d'installer rar en ouvrant un terminal sudo apt-get install rar qui, pour un vrai fichier zip, est un peu exagéré. Cependant, cela prend en charge d'autres formats et vous permet d'extraire différents types de fichiers.

oiseau libre
la source