如何了解sfill free space擦拭过程的进展?

我想在我的ubuntu分区中擦除可用空间,并在搜索后找到我安装的这个sfill软件

sudo apt install secure-delete

然后我用这个命令来擦除空闲空间

$ sudo sfill -v /home [sudo] password for shan: Using /dev/urandom for random input. Wipe mode is secure (38 special passes) Wiping now ... Creating /home/oooooooo.ooo ... 

它在这里停留了最后20分钟,我不知道sfill是否正常工作。 在我的/ home分区中, oooooooo.ooo文件的大小为27.6 MB,并保持此大小。 如何了解sfill中自由空间擦除的进度?

zerofreesfill

我认为这足以满足普通人的所有需求一次(和零)覆盖。 你可以用zerofree做到这zerofree

manpages.ubuntu.com/manpages/trusty/man8/zerofree.8.html

 sudo apt install zerofree sudo zerofree /dev/sdxn 

其中x是设备字母,n是分区号。

使用“擦拭模式是安全的(38次特殊通行证)”运行sfill需要38倍的时间,并且将驱动器的次数增加38倍。

manpages.ubuntu.com/manpages/zesty/man1/sfill.1.html

您可以使用选项使其更快并且(可能)安全性降低。 如果我正确理解了手册,在使用以下选项时,sfill应该像zerofree一样工作(但我还没有测试过)。

 sudo sfill -llz /path-to-mountpoint 

或者他们必须分开

 sudo sfill -l -l -z /path-to-mountpoint 

但你不妨让它写一次随机数据

 sudo sfill -l -l /path-to-mountpoint 

在做同样的事情时,我不知道zerofreesfill是否更有效(更快)。 (我不必在这里猜,但如果你知道 ,请编辑这个答案。)

根据@ bodhi.zazen的评论

如果数据被多次覆盖,则无法恢复数据

所以使用sfill的以下命令可能是一个不错的选择 (它会覆盖两次),

 sudo sfill -l /path-to-mountpoint 

man sfill描述了选项-l

-l减少了安全性。 只写入两个通道:一个带有0xff的模式和一个带有随机值的最终模式。

低水平擦拭

如果您确实需要这种高级别的安全性,最好将数据备份或克隆到另一个驱动器,并使用特殊工具擦除驱动器,该工具在较低级别上运行,例如hdparmDBAN 。 它会更有效率(更快)。

可以使用hdparm在逻辑地址和物理存储器单元之间重新链接。 这是一种加密而不是覆盖整个内存并且非常有效。 我认为以下链接可以帮助您使用该方法,

Re:使用hdparm擦除驱动器的最佳方法

在低级别擦除之后,您可以将文件数据还原到已擦除的驱动器,或者只是在另一个驱动器上使用它(如果克隆了Clonezilla ,克隆使用数据块并跳过空闲块)。

如何知道进展或至少发生了什么事情

详细模式有一个选项, -v 。 我知道你已经用过它了。 我不知道任何其他方法让sfill告诉你更多,而且看起来你看起来并不像进展视图。

但是如果你想知道这个过程是否还在做什么,你可以试试iotop

 sudo apt install iotop sudo iotop -o 

我没有找到任何方法直接监控sfill的进展,但我自己找到了间接的方法来做到这一点。 对我来说,这个过程需要花费很多时间,我建议在sfill使用小覆盖传递。

打开两个端子,在第一个端子启动sfill

  #wiping free space in root drive sudo sfill -v / 

现在在第二个终端执行这些命令

  cd / #move to root direcotry where oooooooo.ooo exists watch -n 30 "ls -lah|grep 'ooo'&&df -h|grep 'sdxn'" 

watch -n 30命令允许您在特定的时间间隔内监视特定的shell命令(此处为30秒) ls -lah|grep 'ooo'监视oooooooo.ooo的大小, df -h|grep 'sdxn'监视左侧的大小在我们的根驱动器xn是分区号。 当sfill进展时,我们可以看到我们的驱动器尺寸逐渐减小,当可用空间达到零时停止该过程。