2 votes

Fichier de plus de 4 Go corrompu sur Centos. Comment l'extraire ?

J'ai zippé un dossier sur centOS 5. Il a été compressé à environ 4,1 Go.

Maintenant j'essaie de le décompresser mais il donne une erreur. J'ai essayé un certain nombre d'options. Tout d'abord, en utilisant la commande unzip, le message suivant s'affiche

enter image description here

puis j'ai essayé d'utiliser

jar xvf nom du fichier

car j'ai découvert au cours de mes recherches que ça peut marcher. Il fonctionne pour extraire certains fichiers mais donne ensuite l'erreur suivante.

enter image description here

J'ai finalement essayé 7zip comme option. Mais il échoue en donnant l'erreur suivante.

enter image description here

Voici quelques informations supplémentaires.

L'exécution de la commande file sur le fichier donne

site_backup_sep03_2015.zip: Données de l'archive zip, au moins v2.0 à extraire

En exécutant la commande stat, on obtient

enter image description here

Y a-t-il un moyen d'extraire le fichier ?

1 votes

Avez-vous essayé zcat sur le fichier pour voir si vous obtenez une sortie quelconque ?

1 votes

Pouvez-vous confirmer que vous avez la version 64bit de java installée ? Vers quel type de système de fichiers extrayez-vous ? Si vous tapez " file site_backup_sep03_2015.zip ", que voyez-vous ? Utilisez également " stat " sur le fichier.

0 votes

@Aaron : Non, c'est un système 32 bits.

3voto

TheFiddlerWins Points 2963

Faites un copie du fichier, puis essayez zip -FF <filename> .

À partir de la page de manuel ( man zip )

-F    Fix the zip archive. This option can be used if some portions
      of the archive are missing. It is not guaranteed to work, so 
      you MUST make a backup of the original archive first.

      When  doubled as in -FF the compressed sizes given inside the
      damaged archive are not trusted and zip scans for special
      signatures to identify the limits between the archive members.
      The single -F is more reliable if the archive is not too much
      damaged, for example if it has only been truncated, so try this
      option  first.

2voto

Aaron Points 2779

Si vous êtes sur un système 32 bits et que vous utilisez des applications 32 bits et/ou si vous utilisez une version de unzip antérieure à 6.0, il est probable que vous rencontriez les problèmes suivants l'une de ces limites

Très probablement cette limite, "taille compressée d'un seul fichier". 4GB

En pratique, la limite réelle peut être de 2 Go sur de nombreux systèmes, en raison de l'utilisation par UnZip de la fonction fseek() pour se déplacer dans une archive. Comme l'argument offset de fseek est généralement un entier long signé, sur les systèmes 32 bits, UnZip ne trouvera aucun fichier situé à plus de 2 Go du début de l'archive. Et sur les systèmes 64 bits, UnZip ne trouvera aucun fichier situé à plus de 4 Go du début de l'archive (puisque le format de fichier zip ne peut stocker que des décalages de cette taille). Ainsi, le dernier fichier de l'archive peut potentiellement avoir une taille arbitraire (en théorie, du moins - nous ne l'avons pas testé), mais le total combiné de tous les autres fichiers doit être inférieur à 2 Go ou 4 Go, respectivement.

Malheureusement, à moins que vous ne trouviez une autre application capable de lire et de décompresser le fichier, vous devrez passer à un système 64 bits ou mettre à jour votre système vers CentOS 7 qui est livré avec unzip 6.0, ou compiler unzip 6.0 sur votre machine CentOS 5 et l'exécuter depuis votre répertoire personnel.

Desde unzip 6.0

[snip] Entrées d'archives zip de plus de 4 GiBytes

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X