.tar.bz アーカイブを確認/テストするにはどうすればいいですか?

.tar.bz アーカイブを確認/テストするにはどうすればいいですか?

私は、tar の "--use-compress-prog=pbzip2" 機能を使用してファイルをアーカイブし、その後 pbzip2 で圧縮して "*.tar.bz" アーカイブを取得しています。

その後、pbzip2 の「-t」スイッチを使用して結果のファイルをチェックしたところ、テストに合格しました。しかし、驚いたことに、アーカイブを抽出しようとしたときに「ファイルが不完全です」などの整合性エラーが発生しました。

これは、tar ファイルに問題があるのに、pbzip2 で圧縮されたときには問題がないからでしょうか? もしそうなら、tar ファイル自体を確認する方法はありますか? そうでない場合、他にどのような問題が考えられますか? また、エラーのある tar ファイルからデータを回復する方法はありますか?

このプロセスですでに重要なデータが失われているのではないかと心配しています...

要点は、アーカイブを作成した後にその整合性をテストする方法を知りたいということです。

答え1

まず bzip2 圧縮をテストしますOK。出力は次のようになります。

bzip2 -tv FILE.tar.bz2

次に、tarball を解凍して、tar だけを取得します。

bunzip2 FILE.tar.bz2

最後にtarファイルを検証します。

tar -tvWf FILE.tar

実のところ、問題を示す最良の指標は、抽出の失敗です。原因を絞り込めるといいですね。アーカイブの検証が失敗しても、正しく抽出できる場合が時々あることも付け加えておきます。

答え2

上記の解決策に加えて、tar でパイプを使用することもできます。

pbzip2 -dc FILE.tar.bz2 | tar -tvfW -

関連情報