コマンド
gzrecover
壊れた gzip ファイルをリカバリする (破損/復旧/復活/gzip Recovery Toolkit/gzrt)
gzrecover コマンドを使うと、壊れた gzip ファイルをリカバリすることができる。ツールの名称は「gzip Recovery Toolkit」であるが、コマンド名は「gzrecover」である。また、ツールの略称やソースファイル名などでは「gzrt」という表記が使用されている。
●復旧方法
gzip や tar の z オプション使用時に
や
Premature end of gzip compressed data: Input/output error
というエラーメッセージが表示され、展開/伸張が途中で失敗してしまう場合、gzrecover コマンドを使って復旧を試みてみるとよいだろう。
破損したファイルが backup.txt.gz とすると、
% gzrecover backup.txt.gz
とすることで backup.txt.recovered というファイルが作成される。
●tar+gzip の場合
もし tar ファイルを gzip で圧縮していた場合は、gzrecover で復旧した後、さらに tar で展開する必要がある。gzrecover は元ファイルのエラーを無視し、読める部分を拾い出したものであるため、tar ファイルとしては不完全である可能性がある。しかし、GNU tar コマンドはエラーを含むかもしれない tar ファイルをうまく扱うことができない。よって、この場合は tar コマンドではなく cpio コマンドを使用する。
% cpio -F backup.tar.recovered -i -v
とすることで、できる限りのファイルを拾い出すことができるだろう。
他の圧縮・伸長コマンドや、マルチコア対応版については下記項目を参照のこと。