壊れた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