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