确保在 `umount -l / --lazy` 之后写入已完成

确保在 `umount -l / --lazy` 之后写入已完成

许多问题之一umount -l有办法知道它何时完成

有没有办法:

  • 知道所有写入过程已完成,所有数据已写入磁盘。
  • 防止未来写入

答案1

再次挂载文件系统的设备新的位置,说/mnt

mount /dev/device /mnt

然后使用:

mount -o remount,ro /mnt

这将尝试以只读方式重新安装设备上的文件系统。

如果成功,则不会有更多数据写入磁盘,因为mount -o remount,ro如果有打开的文件可供写入,则肯定会失败

如果remount,ro失败,则使用:

lsof +f -- /dev/<devicename> | awk 'NR==1 || $4~/[0-9]+[uw -]/'

列出阻止重新挂载的进程

如果您很偏执并希望防止将来重新挂载读写,您可以:

blockdev --setro /dev/device

注意:似乎ro第一次安装设备就足够了。我知道mount: /tmp/mountpoint: /dev/loop0 already mounted or mount point busy.是否有进程在写入。

相关内容