.tar.gz
ファイルを解凍しようとしましたが、次のエラーが発生しました。
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
このtar.gz
ファイルには、.tar
解凍すると以下を生成するファイルが含まれています。
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
私は試しましたが、–ignore-zeros
どちら–ignore-failed-read
も動作しません。
ファイルが破損しても解凍する方法はありますか?
問題のあるファイル形式::.tar.gz
UNIXシステムのGzip圧縮データ。
答え1
2つの項目を確認してください。
(1) はいファイルが不完全ですダウンロードエラーのため? wgetを使用している場合は、-cオプションを使用して再ダウンロードしてください。 (常に発生します)。
(2) .tar または .tar.gz ファイル名が存在するかどうか無効なシンボル。プロファイル名は文字と数字で構成されているため、シンプルで短くするのが最善です。 (常に発生します)。だからファイルの名前を変更してください。アーカイブ名の一部として時間/日付スタンプを持つのが便利だと思ったので、最近この質問は私を魅了しました。悪い考え!
答え2
知りません。ファイルが切り捨てられたようです。どのくらい?最初の数バイトがあれば、操作は完了です。
答え3
.tar.gzファイルが生成されたのと同じプラットフォームで解凍していますか? Solarisに付属の非GNUバージョンのtarとLinuxに付属のGNU tarなど、以前のUnixバージョンのtarとの間にはいくつかの違いがあります。 GNU tarを使用してアーカイブを解凍するには、GNU tarを使用してアーカイブを作成するのが最善です。
システムはどのようにディスク領域を探しますか?アーカイブの作成時にディスクがいっぱいですか、それとも解凍しようとしたときにディスクがいっぱいですか?
クローンジョブを使用してアーカイブを作成しましたか?出力リダイレクトがない場合、cronはSTDOUTで許可されている出力サイズの制限のため、アーカイブに奇妙な操作を実行できます。 cronでアーカイブを作成して-v
withを使用している場合は、tar
STDOUTをファイルにリダイレクトし、STDERRもファイルにリダイレクトしてみてください。役立つことを確認してください。 tar -cvf archive.tar.gz /path/ 1>archive.stdout.log 2>archive.stderr.log
またはそのようなもの。
答え4
最近この問題が発生しましたが、回避策はファイル名を変更することでした(delete _
)。たとえば、間違ったファイル名で問題が発生した場合は、MAA07-0100-0100-01AAA_show_tech_output.tgz
名前を変更するとMAA07-0100-0100-01AAA.tgz
問題の解決に役立ちます。