ゼロによるタールパディング


10

bz2圧縮ファイルでtarを実行すると、次のエラーが発生します。

tar:dump.sql:ファイルは19573448400バイト縮小しました。ゼロによるパディング

誰もがこの問題を引き起こしている可能性があることを指摘できますか?

ありがとう。

回答:


8

エラーではありません。INFOです。

私は、仮想マシンイメージ、またはスパースに割り当てられたファイルを圧縮/解凍しているに違いありません。

Bzip2は、ファイルがほとんどゼロであることを検出し、圧縮ファイルに含まれないように圧縮しました。

これは、スパースファイルの実際のサイズと見かけのサイズの違いです。


:私は親切の確証そのスレッドを発見し、さらに説明groups.google.com/d/msg/comp.os.linux.misc/RES9Kvw7kO4/...
マーティンエデンの

1
エラーではない場合、なぜそれがゼロ以外の終了コードを生成するのですか?
ベンコリンズ

私の場合、.tar.bz2ファイルには実際に破損したデータが含まれていました。メッセージには、ゼロ以外のデータが含まれているはずの場所に、NULバイトの束が含まれていました。なぜかわかりません。そのファイルだけの別の.tar.bz2を作成しようとすると、正しく動作しました。
200_success

1
これは、生のtar(圧縮されていない)アーカイブを作成しているときに発生しました。間違いなくbzip関連ではありません。とにかく、ランレングスエンコーディングはまったく珍しいものではないので、bzipがレポートを邪魔することはありません。
Wyatt8740

1

問題のファイルはと呼ばれたdump.sqlため、おそらくbz2圧縮ファイルではありません。–いずれの場合でも、問題はbz2またはファイルのコンテンツのタイプとは関係ありません。

メッセージは、stat()ファイルのaが実際にファイルから読み取ることができる量とは異なるサイズを報告したことを意味します。tar作業中にファイルが変更された場合、これが発生する可能性があります。

これは、Linuxの/ sysファイルシステムのような「仮想ファイル」でも発生します。それらの多くはサイズが4096バイト(任意の値)で報告されます。一度read()、それらは数バイトしか返しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.