Umount

出自Linux Wiki

在2008年11月6日 (四) 10:27由Chenxing (讨论 | 贡献)所做的修订版本
(差异) ←上一修订 | 最新修订 (差异) | 下一修订→ (差异)

umount是功能与mount相反的Linux命令,用于卸载文件系统。如卸载U盘,移动硬盘上的分区等等。

umount的man pages中有对其功能的大体介绍和详细的参数使用说明,这里只介绍umount的常见用法。

正常卸载文件系统

这是最常用的一种方式,这种方式要求被卸载分区是空闲的。如:

# umount /dev/sdb1
# umount /media/disk

第一条命令把设备sdb上的第一个分区从系统上卸载。而第二条命令的作用则是卸载被挂载到/media/disk上的分区。

注意只有在分区未被程序使用的情况下才能成功用此法卸载,否则会报错,如:

umount: /dev/sdb1: device is busy

lazy umount

lazy umount正是针对上面错误中的busy而提出的,即可以卸载“busy”的文件系统。

举个例子,假设/dev/sdb1被mount到/media/disk,且处于“busy”状态,那么可以执行:

# umount -l /media/disk

请注意,该方法并不是完全安全的,lazy umount主要完成如下操作[1]

  1. 立即从目录结构中实现卸载,即新进程将无法通过/media/disk访问/dev/sdb1
  2. 正在访问该文件系统的程序不受影响。即正在操作/media/disk的进程不会被打断,且仍可以读写/dev/sdb1中的所有文件。
  3. 如果所有进程对/media/disk的操作都执行完,那么才真正地umount

由此可知,lazy umount并没有真正实现umount,仅用于特殊需要的情况,而用这种方法来卸载U盘是不安全的。

参考资料

  1. http://aplawrence.com/Linux/lazy-unmount.html
个人工具
简体繁体转换