web-dev-qa-db-ja.com

アーカイブ(.tar.gz)の破損

確かに何らかの破損が発生した.tar.gzアーカイブがあります。アーカイブ内のデータは明らかに私にとって非常に貴重であり、可能な限り手に入れたいと思っています。明らかに、私はそれのすべてを手に入れることを期待していませんが、可能な限り助けになるでしょう。

このアーカイブはFTP経由で私に送信されましたが、アーカイブを送信した人の側でも破損していました。 FTP転送中にこれが破損していないはずです。別のコピーを入手できません。

明らかに、私はすでにこれについて何かをしようとしました。元のアーカイブで gzrecover というオープンソースアプリケーションを使用してから、gzrecoverによって生成された「回復された」アーカイブを抽出しようとしました。しかし、これは私にはあまり役に立ちませんでした。私はそれからいくつかのファイルを取り出すことができましたが、すべてではありませんでした。 Ark(KDEのアーカイブマネージャー)でアーカイブを表示しましたが、アーカイブの内容の完全なリスト(つまり、アーカイブ内のすべてのファイルとフォルダー)を生成できるので、アーカイブがまだ残っていることを少し期待しています。回復のチャンスがあります。

元のアーカイブのサイズは約18GBです。 「復元された」アーカイブのサイズは約30GBです。

また、GNU cpioを使用して、復元されたアーカイブから抽出しました。アーカイブのコンテンツの一部を正常に抽出することから始まり(約2分間)、次にスパムを開始します。

cpio: Malformed number ��������

かなりの数日間実行した後(そして私の端末を同じくらい長い間スパムした後)、私はついにメッセージを受け取ります

cpio: premature end of file

また、「不正な番号」をスパム送信している間、抽出先のフォルダからファイルサイズが増加することはありません。つまり、それ以上のデータはまったく復元されません。

次の2つのcpioコマンドを使用してアーカイブを抽出しました。

cpio -ivd -H tar < archive.tar.recovered
cpio -F archive.tar.recovered -i -v

言うまでもなく、私はgzrecoverを使用してこのアーカイブを複数回回復し、これらのcpioコマンドの両方を使用してそれぞれを抽出しようとしました。

私はこのデータを回復するために完全に必死になっていることを求めています。他にどのような方法を使用できますか?このアーカイブからデータを回復するにはどうすればよいですか?このアーカイブのデータは私にとってかなりの意味があり、私はそれを失うことに取り乱しているでしょう。私はそれを回復するためにほとんど何でもします。

ありがとうございました。

4

「gz」ファイルは、単一ファイルの圧縮アーカイブです。 「tar」ファイルは、単一のファイルのように見えるようにラップされたファイルのコレクションです。説明に基づいて、tarファイルの一部を抽出できる場合がありますが、最初のエラーまでしか抽出できません。最終的には部分的なtarファイルになります。その後、tarの内容を抽出できますが、最初のビットしかないため、そこに配置されたファイルのみを抽出できます。

このページでは、そのすべてと、それについて何ができるかについて詳しく説明しています。 重要な部分は次のとおりです。gunzip < damaged.tar.gz | tar xvf -

1
Ouroborus

.tar.gzアーカイブを修復する機能を主張するWindows製品は アーカイブリカバリ です。

これは商用製品($ 59)ですが、デモバージョンは ここで入手可能 保存以外のすべての機能が含まれています。

これは長期間実行される可能性があり、成功は保証されないことに注意してください。

0
harrymc