如何用零清除未使用的空间?(我要求为btrfs文件系统提供工具)
我在找比
cat /dev/zero > /mnt/X/big_zero ; sync; rm /mnt/X/big_zero就像FSArchiver正在寻找“已使用的空间”,而忽略未使用的,但相反的站点。
目的:我想压缩分区图像,所以强烈建议用零填充未使用的空间。
顺便说一句。对于ext3,ext4:用零清除未使用的空间(ext4 3,ext4 4)。这里我想要btrfs
澄清“更智能的算法”:正如我所看到的,“更智能的算法”会导致混淆,在这里,我最终决定添加关于它的行。亲爱的读者,请将文件系统视为数据结构。为了简化起见,让我们想象一下自平衡的红黑树保持映射,它用作关联键->值数组,其中值是整数。目标是用零清除所有负值。"not“算法将对其进行迭代,并将键:值对添加到新映射(最终将负值更改为零)。将只检测存储负值的位置,并将其清除。
发布于 2018-11-29 21:48:41
清除空闲空间的正确和“智能”方法是使用:
fstrim /mountpoint在安装的文件系统上使用此方法。
值得注意的是,这样做没有任何安全优势。如果希望清除磁盘的安全性,请备份文件,使用"shred“之类的命令对整个磁盘进行零设置,然后恢复文件。
但是,如果您的磁盘是稀疏文件系统上的一个稀薄的配置,并且希望恢复未使用的空间,则解决方案可以正常工作。
https://unix.stackexchange.com/questions/44725
复制相似问题