umount $mountpoint
在现代 GNU/Linux 系统上安全删除单分区 USB 驱动器是否足够?或者我应该使用sync && umount $mountpoint && sync
,或者也许umount $mountpoint && udisks --detach $device
?我想尽可能使用最安全的方式,但另一方面,我不想在我的程序中引入多余的依赖项或延迟。
编辑:umount 是否调用sync 来完成任何挂起的写入确实回答了这个问题的一部分(是否sync && umount $mountpoint && sync
提供了任何好处umount $mountpoint
),但不是整个问题(udisks --detach $device
或其他命令是否提供了改进的安全性),所以它不是完全重复的。
答案1
引用自弹出 USB 驱动器/弹出命令:
对于 USB 旋转驱动器,弹出可以工作,但不会真正“完成工作”。
正确卸载后拔出 USB 外置硬盘的最佳方法是:
udisks --detach /dev/sdb
这通常会导致驱动器正常减速。
编辑:另外,正如 g.rocket 指出的那样,这个命令可能是等效的:
udisksctl power-off -b /dev/sdb