Onko kellään tiedossa olisko mitenkään mahdollista saada (edes osittain) purettua pakettia jonka pakkauksessa on tapahtunut virhe? Kyseessä siis tar.gz-arkisto. Gzip:illä purettaessa tulee virheilmoitus:
invalid compressed data--format violated
Filerollerilla saadaan seuraavanlainen herja:
gzip: stdin: invalid compressed data--format violated
tar: Odottamaton tiedoston loppu arkistossa
tar: Virhe ei ole korjattavissa, poistutaan nyt
Arkistossa olisi parisataa valokuvaa joista ei ole muita kopioita. Kerrankin muistin ottaa kuvat talteen kovalevyltä ennen käyttiksen uudelleenasennusta ja sitten käy näin.
Kokeile suosiolla vain komentoriviltä. Ensin pura gzip pakkaus ja sinulle jää jäljelle pakkaamaton tar paketti. Tämän jälkeen jos et tar pakettia saa auki, voit lähteä sieltä grepata sitten tiedostojen alut ja loput ja kopsata ne ulos.
tar.gz on siis gzip+tar yhdistelmä. Ensin TAR ohjelma kerää kaikki tiedostot yhdeksi paketiksi. BIttiäkään ei muuteta. Tämän jälkeen Gzip sitten pakkaa tämän luodun tar paketin ja tällöin lähtee bittejä muuttumaan. Jos Gzip pakkaus on mennyt pilalle, ei paljoa enää oikein voi.
Tämän takia suositellaankin että tiedostot jotka on jo pakettu (tietyt kuvaformaatit ynnä muut), siirretään pelkässä tar paketissa. Tällöin virheenkorjaus on helppo tehdä ja data säilyy, mutta saavutetaan hyöty yhden tiedoston siirtoon.
Voit kokeilla fixgz ohjelmaa
fixgz vaurioitunut.tar.gz korjattu.tar.gz
gzip -tv korjattu.tar.gz
Tarkista myös että yrität purkaa pakettia oikealla pakkauksella.
file paketti.tar.gz