umount命令简单介绍  

 
2011-11-19 10:54:20|  分类: Linux |字号 订阅
正常卸载文件系统
 
这是最常用的一种方式,这种方式要求被卸载分区是空闲的。如:
 
# 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主要完成如下操作:
 
 
 
立即从目录结构中实现卸载,即新进程将无法通过/media/disk访问/dev/sdb1。
 
正在访问该文件系统的程序不受影响。即正在操作/media/disk的进程不会被打断,且仍可以读写/dev/sdb1中的所有文件。
 
如果所有进程对/media/disk的操作都执行完,那么才真正地umount。
 
由此可知,lazy umount并没有真正实现umount,仅用于特殊需要的情况,而用这种方法来卸载U盘是不安全的。
 
#########################################
博主补充:
如果你使用了umount -l卸载了一个镜像,比如:
mount -o loop /tools/dvd.iso /mnt/cdrom  #挂载一个iso
umount /mnt/cdrom #提示设备busy,无法卸载。
umount -l /mnt    #然后你使用umount -l去卸载,是可以卸载了
rm -f /tools/dvd.iso  #把这个iso删除,假设这个iso 4.4G。
 
这时,使用df查看分区,你会发现,dvd.iso占用的这4.4G空间,并未被释放,
我找了很多办法,都没解决这个问题,只有重启能解决这个问题,
可是如果是生产环境的服务器,想重启真不是个简单的事。
 
有高手知道怎么办吗?请指点啊!!!