壊れたgzipファイルの直し方

Flumeなどのアプリやgzipコマンドを使って、

ストリームで圧縮をかけていると、

 

 ディスクが壊れたり、

 プロセスが突然死して、

 

成果物なる圧縮ファイルが壊れることってよくありますよね。

 

しかもストリーム使っている場合は、

オリジナル(圧縮前)のファイルがあるわけではないので、

もう一度、というわけにはいきません。

 

壊れた、というのは、

具体的には、

解凍しようとしたときに以下のメッセージが出るようなときです。

 gunzip: XXXX.gz: unexpected end of file

 

 

それらは、以下のコマンドで直すことができます。

 gunzip < [壊れたgzファイル] > [修復後のファイル]

 例) gunzip < kowareta.gz > naotta

   →kowareta.gzの圧縮前のファイルがnaottaに保存されます。

 

参考:

>今回の直し方について、書いてある記事(本家)

http://www.gzip.org/recover.txt

 

>gzipのフォーマットについて日本語で知りたい方向け

http://www.glamenv-septzen.net/view/495#ida1dffd

 

>マニアックに知りたい方向け

http://www.futomi.com/lecture/japanese/rfc1952.html