.tar.gz アーカイブに多数のファイルがあります。コマンドでファイルの種類を確認する
file SMS.tar.gz
応答を与える
gzip compressed data - deflate method , max compression
gunzip でアーカイブを抽出しようとすると、遅れてメッセージが表示されます
gunzip: SMS.tar.gz: unexpected end of file
アーカイブの一部でも復元する方法はありますか?
回復は可能ですが、破損の原因によって異なります。
ファイルが単に切り詰められている場合、部分的な結果を取得することはそれほど難しくありません。とにかく走れ
gunzip < SMS.tar.gz > SMS.tar.partial
最後にエラーが発生しても、出力が得られます。
圧縮ファイルに大きな欠落ブロックがある場合、基本的に不良ブロックの後では絶望的です。
圧縮ファイルが小さな方法で体系的に破損している場合 (たとえば、ASCII モードでバイナリ ファイルを転送すると、ファイル全体のキャリッジ リターンと改行が破壊されます)、回復することは可能ですが、かなりのカスタム プログラミングが必要です。他に手段がまったくなく (バックアップがなく)、データに多くの労力を費やす価値がある場合。(私はそれを成功させました。) このシナリオについては、前の質問で言及しました。
zip アーカイブには個別に圧縮された複数のメンバーが含まれているため、.zip ファイルの答えは多少異なります (ほとんどの商用ツールはかなり偽物ですが、正常なデータを回復するのではなく、CRC にパッチを適用することで警告を排除します)。しかし、あなたの質問は、1 つの大きなメンバーを持つアーカイブである .tar.gz ファイルに関するものでした。
それがgzipファイルであることは確かですか?それを検証するために、最初に「file SMS.tar.gz」を実行します。
次に、gzip Recovery Toolkit のページを読みます。
これは、私たちが遭遇した可能性のあるシナリオの 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.
出来た!これはわずかな可能性であり、試してみる価値があるかもしれません - それは誰かを助けるかもしれません.