Comment puis-je récupérer des fichiers à partir d'un corrompu.tar.GZ archive?

j'ai un grand nombre de fichiers dans un .tar.GZ archive. Vérification du type de fichier avec la commande

file SMS.tar.gz

donne la réponse

gzip compressed data - deflate method , max compression

quand j'essaie d'extraire l'archive avec gunzip, après un délai Je reçois le message

gunzip: SMS.tar.gz: unexpected end of file

y a-t-il un moyen de récupérer une partie des archives?

23
demandé sur Tom Melluish 2008-10-14 18:30:03

3 réponses

Êtes-vous sûr que c'est un fichier gzip? J'aurais d'abord lancé des SMS de fichiers.tar.gz " pour valider.

ensuite, je lisais la page the gzip Recovery Toolkit .

15
répondu David S. 2016-07-26 13:21:59

récupération est possible, mais cela dépend de ce qui a causé la corruption.

si le fichier est simplement tronqué, obtenir un résultat partiel n'est pas trop difficile; il suffit d'exécuter

gunzip < SMS.tar.gz > SMS.tar.partial

qui donnera une certaine sortie malgré l'erreur à la fin.

si le fichier compressé a de gros blocs manquants, il est pratiquement sans espoir après le mauvais bloc.

Si le fichier compressé est systématiquement corrompu petits moyens (par exemple, le transfert du fichier binaire en mode ASCII, qui brise retours chariot et nouvelles lignes tout au long du fichier), il est possible de récupérer mais nécessite tout à fait un peu de programmation personnalisée, il est vraiment la peine si vous avez absolument aucun autre recours (pas de sauvegardes) et les données vaut beaucoup d'efforts. (Je l'ai fait avec succès.) J'ai mentionné ce scénario dans une question précédente .

Les réponses .les fichiers zip diffèrent un peu, puisque les archives zip ont plusieurs membres compressés séparément, donc il y a plus d'espoir (bien que la plupart des outils commerciaux soient plutôt faux, ils éliminent les avertissements en corrigeant les CRCs, pas en récupérant de bonnes données). Mais ta question était à propos de A.tar.fichier gz, qui est une archive avec un gros membre.

30
répondu Liudvikas Bukys 2017-05-23 12:18:24

voici un scénario possible que nous avons rencontré. Nous avons eu un tar.GZ fichier qui ne se décompresserait pas, en essayant de décompresser a donné l'erreur:

gzip -d A.tar.gz
gzip: A.tar.gz: invalid compressed data--format violated

j'ai compris que le fichier may a été initialement téléchargé via une connexion ftp non binaire (nous n'en sommes pas sûrs).

la solution était relativement simple en utilisant le unix dos2unix utility

dos2unix A.tar.gz
dos2unix: converting file A.tar.gz to UNIX format ...
tar -xvf A.tar
file1.txt
file2.txt 
....etc.

ça a marché! C'est l'un slim possibilité, et peut-être la peine d'essayer - il peut aider quelqu'un là-bas.

3
répondu Anthony Palmer 2013-09-20 11:07:51