28

.tar.gz アーカイブに多数のファイルがあります。コマンドでファイルの種類を確認する

file SMS.tar.gz

応答を与える

gzip compressed data - deflate method , max compression

gunzip でアーカイブを抽出しようとすると、遅れてメッセージが表示されます

gunzip: SMS.tar.gz: unexpected end of file

アーカイブの一部でも復元する方法はありますか?

4

3 に答える 3

37

回復は可能ですが、破損の原因によって異なります。

ファイルが単に切り詰められている場合、部分的な結果を取得することはそれほど難しくありません。とにかく走れ

gunzip < SMS.tar.gz > SMS.tar.partial

最後にエラーが発生しても、出力が得られます。

圧縮ファイルに大きな欠落ブロックがある場合、基本的に不良ブロックの後では絶望的です。

圧縮ファイルが小さな方法で体系的に破損している場合 (たとえば、ASCII モードでバイナリ ファイルを転送すると、ファイル全体のキャリッジ リターンと改行が破壊されます)、回復することは可能ですが、かなりのカスタム プログラミングが必要です。他に手段がまったくなく (バックアップがなく)、データに多くの労力を費やす価値がある場合。(私はそれを成功させました。) このシナリオについては、前の質問で言及しました。

zip アーカイブには個別に圧縮された複数のメンバーが含まれているため、.zip ファイルの答えは多少異なります (ほとんどの商用ツールはかなり偽物ですが、正常なデータを回復するのではなく、CRC にパッチを適用することで警告を排除します)。しかし、あなたの質問は、1 つの大きなメンバーを持つアーカイブである .tar.gz ファイルに関するものでした。

于 2008-10-21T18:29:48.737 に答える
18

それがgzipファイルであることは確かですか?それを検証するために、最初に「file SMS.tar.gz」を実行します。

次に、gzip Recovery Toolkit のページを読みます。

于 2008-10-14T14:32:54.490 に答える
4

これは、私たちが遭遇した可能性のあるシナリオの 1 つです。解凍できない tar.gz ファイルがあり、解凍しようとするとエラーが発生しました。

gzip -d A.tar.gz
gzip: A.tar.gz: invalid compressed data--format violated

私は、ファイル非バイナリ ftp 接続を介して最初にアップロードされた可能性があることを突き止めました (確かなことはわかりません)。

dos2unixソリューションは、UNIXユーティリティを使用して比較的簡単でした

dos2unix A.tar.gz
dos2unix: converting file A.tar.gz to UNIX format ...
tar -xvf A.tar
file1.txt
file2.txt 
....etc.

出来た!これはわずかな可能性であり、試してみる価値があるかもしれません - それは誰かを助けるかもしれません.

于 2013-09-20T11:07:51.463 に答える