Vous pouvez essayer l'utilitaire gzrecover et ensuite extraire l'archive récupérée avec cpio .
Il a permis de récupérer des archives corrompues dans le passé, mais votre expérience peut varier. J'ai un problème où il ne peut pas récupérer une archive pour moi, donc je vous préviens.
EDIT : Par un mod me menaçant violemment avec un couteau, je vais ajouter quelques détails comment j'ai récupéré des archives avant. (Je plaisante. Ne me faites pas de mal, @Scott !)
Vous pouvez installer les deux paquets en utilisant
sudo apt-get install cpio gzrt
Après vous être assuré que les deux paquets sont installés, mettons-nous au travail.
Tout d'abord, placez votre archive à un endroit où vous ne craignez pas que les données soient extraites. De là, vous pouvez exécuter
gzrecover broken-archive.tar.gz
gzrecover prendra probablement un certain temps, en fonction de la taille de l'archive. Cependant, avec un peu de chance, vous verrez "broken-archive.tar.recovered" dans le même répertoire une fois l'opération terminée.
L'archive récupérée a probablement subi des dommages ; c'est là que cpio s'avère utile. Il devrait déjà être installé sur votre système.
Pour extraire l'archive récupérée, utilisez
cpio -F broken-archive.tar.recovered -i -v
Soyez conscient que cpio va cracher une quantité considérable d'informations pendant cette période. Je vous recommande de faire cela sur un tty séparé au lieu d'un terminal sur votre session X. Pour ce faire, il vous suffit d'appuyer sur CTRL+ALT+F1 et votre écran basculera vers un terminal. Pour revenir à votre session X, appuyez sur CTRL+ALT+F8 (cela peut varier, mais c'est généralement F7-9).
Le processus d'extraction de l'archive récupérée va également être assez intensif. Comme cpio n'est pas optimisé pour une utilisation avec plusieurs cœurs, il se cantonnera à un seul cœur. Quel que soit le cœur sur lequel il se trouve, il le bloquera probablement à 100% d'utilisation. Si vous avez une machine à deux cœurs, vous devrez peut-être arrêter d'utiliser votre ordinateur pendant un certain temps.
Sachez que ce processus peut prendre plusieurs jours, compte tenu de la taille de l'archive. Vous pouvez soit trouver une autre machine sur laquelle décharger ce travail (les processeurs plus lents rendront ce processus plus long), soit prévoir de ne pas utiliser votre ordinateur pendant un certain temps, soit vous préparer à ce que votre système s'arrête pendant le travail. De plus, si vous l'exécutez dans un terminal sur votre session X, vous allez probablement épingler un deuxième cœur à 100%. Si vous êtes un utilisateur avancé, vous pouvez utiliser la fonction taskset
pour affecter le(s) processus à un noyau spécifique. Cependant, cela n'entre pas dans le cadre de ma réponse.
Je vous souhaite la meilleure des chances.