我得到了1TB的稀疏文件,它实际上在Linux上存储了32MB的数据.
是否有可能"有效"地创建一个包来存储稀疏文件?应将程序包解压缩为另一台计算机上的1TB稀疏文件.理想情况下,"包"应该在32MB左右.
注意:可能的解决方案是使用'tar':https://wiki.archlinux.org/index.php/Sparse_file#Archiving_with_.60tar.27
但是,对于1TB稀疏文件,尽管tar球可能很小,但归档稀疏文件将花费很长时间.
编辑1
我测试了tar和gzip,结果如下(请注意,这个稀疏文件包含0字节的数据).
$ du -hs sparse-1
0 sparse-1
$ ls -lha sparse-1
-rw-rw-r-- 1 user1 user1 1.0T 2012-11-03 11:17 sparse-1
$ time tar cSf sparse-1.tar sparse-1
real 96m19.847s
user 22m3.314s
sys 52m32.272s
$ time gzip sparse-1
real 200m18.714s
user 164m33.835s
sys 10m39.971s
$ ls -lha sparse-1*
-rw-rw-r-- 1 user1 user1 1018M 2012-11-03 11:17 sparse-1.gz
-rw-rw-r-- 1 user1 user1 10K 2012-11-06 23:13 sparse-1.tar
Run Code Online (Sandbox Code Playgroud)
包含0字节数据的1TB文件sparse-1可以通过'tar'存档到10KB tar球或通过gzip压缩到~1GB文件.gzip占用tar时间的2倍左右.
从比较来看,'tar'似乎比gzip更好.
但是,对于包含0字节数据的稀疏文件,96分钟太长.
编辑2
rsync似乎完成复制文件的时间超过tar但小于gzip: …