.tar.gzアーカイブに多数のファイルがあります。コマンドでファイルタイプを確認する
file SMS.tar.gz
応答を与える
gzip compressed data - deflate method , max compression
Gunzipでアーカイブを抽出しようとすると、しばらくするとメッセージが表示されます
gunzip: SMS.tar.gz: unexpected end of file
アーカイブの一部でも回復する方法はありますか?
本当にgzipファイルですか?最初に「file SMS.tar.gz」を実行して、それを検証します。
それから私は gzip Recovery Toolkit ページを読みます。
回復は可能ですが、破損の原因によって異なります。
ファイルが切り捨てられただけの場合、一部の結果を取得することはそれほど難しくありません。ただ走れ
gunzip < SMS.tar.gz > SMS.tar.partial
最後のエラーにもかかわらず、いくつかの出力が表示されます。
圧縮ファイルに大きな欠落ブロックが含まれている場合、それは基本的に不良ブロックの後では絶望的です。
圧縮ファイルが小さな方法で系統的に破損している場合(たとえば、バイナリファイルをASCIIモードで転送すると、ファイル全体で改行と改行が破壊されます)、回復は可能ですが、かなりの時間が必要です。カスタムプログラミングの場合は、他に手段がなく(バックアップがない)、データに多大な労力を費やす価値がある場合にのみ価値があります(私は成功しました)。このシナリオについて 前の質問 。
Zipアーカイブには複数の個別に圧縮されたメンバーがあるため、.Zipファイルの回答は多少異なります。したがって、より多くの希望があります(ほとんどの商用ツールはかなり偽物ですが、適切なデータを回復するのではなく、CRCにパッチを適用することで警告を排除します)。しかし、あなたの質問は、1つの大きなメンバーを持つアーカイブである.tar.gzファイルに関するものでした。
ここでは、発生した可能性のあるシナリオの1つを示します。解凍できないtar.gzファイルがあり、解凍しようとするとエラーが発生しました。
gzip -d A.tar.gz
gzip: A.tar.gz: invalid compressed data--format violated
私はファイルmayが非バイナリFTP接続を介して最初にアップロードされたことを理解しました(確信がありません)。
解決策はunix dos2unix
ユーティリティ
dos2unix A.tar.gz
dos2unix: converting file A.tar.gz to UNIX format ...
tar -xvf A.tar
file1.txt
file2.txt
....etc.
動いた!これは1つのスリムな可能性であり、試してみる価値があるかもしれません-そこにいる誰かを助けるかもしれません。