我的 linux 服务器上有几个稀疏图像(总大小为 320G;使用大小为 111G),并且希望每晚都获得这些图像的校验和。我想知道是否有一种有效的方法来创建校验和。
如果我执行以下操作,校验和创建需要很多时间:
~ # dd bs=1 count=0 seek=5G if=/dev/zero of=sparse.img
0+0 Datensätze ein
0+0 Datensätze aus
0 Bytes (0 B) kopiert, 0,00036461 s, 0,0 kB/s
~ # du -hs sparse.img
0 sparse.img
~ # time sha512sum sparse.img
e4f21997407b9cb0df347f6eba2... sparse.img
real 0m55.339s
user 0m52.010s
sys 0m2.790s
最佳答案
自 2016 年以来有一个很好的解决方案:从 1.29 版开始,GNU tar 具有:If possible, use SEEK_DATA/SEEK_HOLE to detect sparse files.
通常通过传递 --sparse
启用检测稀疏文件,例如: tar -c --sparse <file name> | md5sum
为您提供了一种可重复的方式来对您的文件进行 md5sum,并且只读取一次文件。
关于linux - 在linux中创建大型稀疏图像的校验和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17109330/