10 在bz2压缩文件上执行tar时,遇到以下错误, tar:dump.sql:文件缩小了19573448400字节;用零填充 谁能指出是什么原因导致此问题? 谢谢。 linux tar — 伊利亚斯·夏洛尔 source
8 这不是错误。这是信息。 我敢打赌,您正在压缩/解压缩虚拟机映像或稀疏分配的文件。 Bzip2已检测到该文件大部分为零,并对其进行了压缩,以使其不在压缩文件中。 这是稀疏文件的实际大小和表观大小之间的差异。 — 汤姆·奥康纳 source 我找到了一个有助于证实并进一步解释的线程:groups.google.com/d/msg/comp.os.linux.misc/RES9Kvw7kO4/…– — Martin Eden 1 如果不是错误,那么为什么会生成非零的退出代码? — 本·科林斯 就我而言,.tar.bz2文件实际上包含损坏的数据:它在消息中指示的位置包含一堆NUL字节,该位置应该包含非零数据。我不知道为什么。当我尝试仅创建该文件的另一个.tar.bz2时,它可以正常工作。 — 200_success 1 这只是在制作原始tar(未压缩)存档时发生在我身上。绝对不与bzip相关。而且无论如何,游程长度编码并不是完全不同寻常的,因此bzip也不会打扰报告。 — Wyatt8740 '19
1 有问题的文件称为dump.sql,因此可能不是bz2压缩文件。–无论如何,问题与bz2或文件内容类型无关。 该消息表示stat()文件上的a 报告的大小不同于实际从文件中读取的大小。如果在tar工作时更改了文件,则可能会发生这种情况。 这也发生在“虚拟文件”上,例如Linux的/ sys文件系统上的文件。据报告,其中许多文件的大小为4096字节(任意值)。一次read(),它们仅返回几个字节。 — 罗伯特·西默 source