tarと分割を使用すると、「gzip:stdin:予期しないファイルの終わり」が表示されます。

tarと分割を使用すると、「gzip:stdin:予期しないファイルの終わり」が表示されます。

私のフォルダに約600 MBの画像フォルダがありますoutput_test。次に、次のコマンドを使用して100MBのtar.gzファイルチャンクを作成しました。

tar -czf - output_test/ | split --bytes=100MB -d -a 3 - output_test.tar.gz.

これは私に次のファイルを与えました

-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.000
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.001
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.002
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.003
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.004
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.005
-rw-rw-r-- 1 martin 26M Nov 13 17:12 output_test.tar.gz.006

すべてが大丈夫だと思いますが(全体のサイズは縮小していないようですが?)、ファイルの1つを解凍しようとすると

tar -xzf output_test.tar.gz.000

次のエラーが発生します。

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

このエラーが発生する理由を知っている人はいますか?

それでもファイルがうまく抽出されているようです。それでは、このエラーを無視しても安全かどうかはわかりません。

答え1

このように出力を分割すると、結果は次のようになります。部分マスターファイル自体では完全ではありません。

したがって、「.000」ファイルだけを見ると、出力の最初の部分だけを見ることができます。

「実際の」ファイルを再生成するには、それらのファイルを一緒にまとめる必要があります。

だからあなたは次のようにします:

cat output_test.tar.gz.* | tar xzf -

関連情報