Spannende uren om een corrupte archief (tar.bz2) bestand te repareren leverden uiteindelijk resultaat. Dit is een document wat wellicht ook anderen kan helpen om een defecte backup toch zo veel mogelijk nog te redden.
Hoe het begon
Een computer was nogal flink de geest aan het geven, niks werkte meer echt, en het was duidelijk hardware-matig. En uiteraard er was geen backup.
Veel dingen geprobeerd, het enige wat nog lukte was een backup maken met tar, wat overigens extreem lang duurde, en die te branden naar een cd.
Uiteindelijk niet verbazingwekkend dus dat de backup niet terugwilde, de tar errors vlogen je om de oren.
Eerste stap: dd
Ik heb eerst maar een image gemaakt van de cdrom, wellicht zou dat een beetje helpen.. je weet maar nooit met block groote enzo.
sudo dd if=/dev/cdrom of=/home/user/tmp/backupcd.img
Nu nog even mounten:
sudo mount -o loop /home/user/tmp/backupcd
Het aantal errors werd wel iets minder toen ik nu probeerde te untarren, dus al een beetje winst.
Tweede stap: bzip2recover
Er bestaat een utility om bzip2 bestanden te repareren. Geloof me: dit is een goed argument om bzip2 te gebruiken in plaats van gzip..
bzip2recover bestand.tar.bz2
En de reparatie-tool ging aan de slag, maakte een flink aantal bestanden aan die begonnen met: rec, een getal en dan .bestand.tar.bz2. Je moet nu deze bestanden samenvoegen:
bzip2 -dc rec*.bz2 > recovered_data.tar.bz2
Nogmaals geprobeerd dit uit te pakken, dat ging al beter, maar halverwege toch nog 1 error.
Derde stap: mc
Wat nu... na enig piekeren heb ik het geprobeerd met mc: hiermee kun je immers archief bestanden mee inlezen.. En dat lukte ook nu. Vervolgens met de knop F5 directories eruit gekopieerd, 1 directory mislukte, maar daar kon ik uiteindelijk ook nog op 2 bestanden na alles van redden.
Eind goed al goed en lang leve dit soort utilities :)





