我们有一个稀疏文件目录(du
其中一个文件返回 240M;ls
返回 960M)。
当我们将其中一个文件复制到 S3 时,我们最终上传了整个 960M,而从 S3 下载时,du
现在返回完整的 960M。
我们已尝试gzip
ping 它,这会减少上传/下载大小;但提取的大小仍然是 960M(使用du
)。
有什么方法可以将这些文件转换回稀疏文件?
答案1
您可以使用fallocate --dig-holes
给出了 util-linux 的最新版本。
或者,cp --sparse=always
将创建一个稀疏文件作为复制目标(然后您可以将其移动到原始文件上)。
稀疏文件可以使用tar -S
或tar --sparse
GNU tar 中的选项;例如,tar -czSf foo.tar.gz foo
如果您还想要压缩,或者tar -cSf foo.tar foo
如果您不想要。