UNIX/Linuxの部屋 gzrecoverコマンドの使い方

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド gzrecover 壊れた gzip ファイルをリカバリする (破損/復旧/復活/gzip Recovery Toolkit/gzrt) このエントリーをはてなブックマークに追加

gzrecover コマンドを使うと、壊れた gzip ファイルをリカバリすることができる。ツールの名称は「gzip Recovery Toolkit」であるが、コマンド名は「gzrecover」である。また、ツールの略称やソースファイル名などでは「gzrt」という表記が使用されている。

復旧方法
gzip や tar の z オプション使用時に
unexpected end of file

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
とすることで、できる限りのファイルを拾い出すことができるだろう。

他の圧縮・伸長コマンドや、マルチコア対応版については下記項目を参照のこと。