Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:reparer_une_archive_corrompue [Le 23/06/2010, 21:52] – 62.88.64.152tutoriel:reparer_une_archive_corrompue [Le 11/09/2022, 12:22] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art
Ligne 24: Ligne 24:
  
 Et bien vous n'avez vraiment pas de chance ! Votre archive est certainement corrompue. Et bien vous n'avez vraiment pas de chance ! Votre archive est certainement corrompue.
 +=====Solution pour une archive compressée tar.bz2=====
  
-=====Solution=====+Avec le gestionnaire d'archive, vous récupérez la première partie de l'archive, à savoir toutes les données avant l'erreur dans  le fichier.
  
-Avec le gestionnaire d'archive vous récupérez la première partie de l'archive, à savoir toutes les données avant l'erreur dans  le fichier. +Pour récupérer la suite, tapez :
- +
-Pour récupérer la suite +
-taper +
 <code> <code>
 bzip2recover nomdelarchive.tar.bz2 bzip2recover nomdelarchive.tar.bz2
Ligne 37: Ligne 35:
 Ces fichiers se nomment rec00001nomdelarchive.tar et ainsi de suite. Ces fichiers se nomment rec00001nomdelarchive.tar et ainsi de suite.
  
-Ensuite il faut tester chacun des fichiers, pour cela taper +Ensuite il faut tester chacun des fichiers, pour cela tapez : 
-<code>  +<code>bunzip rec*bz2</code> 
-bunzip rec*bz2 +Si vous avez un retour "d'argument trop long" dans le terminal, essayez par tranche de 1000 (ex: rec01*bz2 puis rec02*bz2 ...) 
-</code> +si cela est encore trop long, envisagez la commande xargs.
-Si vous avez un retour "d'argument trop long" dans le terminal +
-essayer par tranche de 1000 (ex: rec01*bz2 puis rec02*bz2 ...) +
-si cela est encore trop long, envisager la commande xargs+
  
-Vous allez obtenir le nom du fichier corrompu +Vous allez obtenir le nom du fichier corrompu (ex rec003776nomdelarchive.tar). 
-(ex rec003776nomdelarchive.tar) +Déplacez ce fichier ainsi que ceux situés avant pour n'avoir que les fichiers suivant le fichier corrompu.
-et bien déplacer ce fichier ainsi que ceux situer avant pour n'avoir que les fichiers suivant le fichier corrompu.+
  
-Ensuite reconstruisez la suite des fichiers en tapant+Ensuite, reconstruisez la suite des fichiers en tapant :
 <code> <code>
 cat rec0* > findelarchvie.tar cat rec0* > findelarchvie.tar
 </code> </code>
  
-Récupérer le script ici+Récupérez le script ici :
 http://oss.bestsolution.at/documents/find_tar_headers.pl.bz2 http://oss.bestsolution.at/documents/find_tar_headers.pl.bz2
 qui permet de retrouver les marques d'en-tête, et exécutez-le en tapant: qui permet de retrouver les marques d'en-tête, et exécutez-le en tapant:
Ligne 60: Ligne 54:
 perl find_tar_headers.pl findelarchive.tar perl find_tar_headers.pl findelarchive.tar
 </code> </code>
-Une fois lancé, vous pouvez l'arrêter en tapant control + C +Une fois lancé, vous pouvez l'arrêter en tapant control + C et repérer les chiffres mentionnés.
-et repérer les chiffres mentionnés+
 <code> <code>
 findelarchive.tar:17185:top/secret/warp_reactor.so:157106 findelarchive.tar:17185:top/secret/warp_reactor.so:157106
Ligne 68: Ligne 61:
 findelarchive.tar:183585:top/secret/plasma_controls.so:157035 findelarchive.tar:183585:top/secret/plasma_controls.so:157035
 </code> </code>
-Le nombre à repérer est celui de la première ligne, dans ce cas il s'agit de 17185+Le nombre à repérer est celui de la première ligne, dans ce cas il s'agit de 17185.
  
-Reconstruisez correctement l'archive en tapant+Reconstruisez correctement l'archive en tapant :
 <code> <code>
 tail -c +17185 findelarchive.tar > bonnearchive.tar tail -c +17185 findelarchive.tar > bonnearchive.tar
 </code> </code>
-Évidemment mettez le bon chiffre à la place de 17185+Évidemment, mettez le bon chiffre à la place de 17185
  
-Voilà vous n'avez plus qu'a [[:archivage|décompresser]] la dernière archive ainsi obtenue.+Voilà vous n'avez plus qu'à [[:archivage|décompresser]] la dernière archive ainsi obtenue.
  
 +=====Solution pour une archive compressée TGZ (avec Gzip Recovery Tool)=====
 +
 +Gzip Recovery Tool est un outil en ligne de commande qui permet de restaurer une archive corrompue TGZ (tar.gz).
 +
 +==== Installation ====
 +
 +  * Via les dépôts: installer le paquet **[[apt>gzrt]]**.
 +  * Manuellement (en passant par le site de l'auteur): [[https://www.urbanophile.com/arenn/coding/gzrt/gzrt.html]]
 +
 +==== Utilisation ====
 +
 +Lancer la commande suivante pour débuter la restauration:
 +<code>
 +gzrecover /chemin/vers/mon/archive/mon-archive-tar-corrompue.tar.gz
 +</code>
 +
 +Une archive avec l'extension .recovered sera créée dans le répertoire courant après quelques minutes (varie selon la taille de votre archive à réparer).
 +
 +Une fois l'exécution de gzrecover terminé, lancer la commande suivante pour extraire vos fichiers:
 +<code>
 +cpio -F mon-archive-tar-corrompue.tar.recovered -i -v
 +</code>
 =====Voir aussi===== =====Voir aussi=====
   *[[:archivage]]   *[[:archivage]]