Chinaunix首页 | 论坛 | 博客
  • 博客访问: 503570
  • 博文数量: 54
  • 博客积分: 5016
  • 博客等级: 大校
  • 技术积分: 954
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-23 11:00
文章分类

全部博文(54)

文章存档

2009年(5)

2008年(49)

我的朋友

分类: LINUX

2008-05-16 11:10:02

author:

    wmm(netid: unc or wmmwang)

date:

    30th Aug,2008

refernce:

    http://en.wikipedia.org/wiki/Loop_device (what's loop device and how to use loop device)

当一个设备busy状态时
可以用
#umount -f /mount_point 强制卸载一个目录 (容易丢失数据)
或用如下:(推荐)

Using the fuser Command
To stop all processes from accessinga file system:
As root,list all the processes accessing the file system
#fuser -cu mount_point
2.Kill all processes accessing the file system.
#fuser -ck mount_point
3.Verify there are no processes accessing the file system.
#fuser -c mount_point
4.Unmount the file system.
# umount mount_point

 

虚拟机redhat9.0下做ramdisk用到loop的时候时候经常碰到不能卸载的问题,有两个方法可以搞定:

1.

umount -l youdir(即加-l参数,当目录空闲的时候卸载)

不过加-l参数卸载,次数多的时候,造成loop不够用,好像是假卸载一样。

  解决loop不够用的问题:

     后来经仔细查阅,发现挂载所使用的的命令

       mount -o loop ramdisk /home/rootfs

     相当于如下两条命令:

  losetup /dev/loop0 ramdisk       // 将一个loop device 和ramdisk关联起来
  mount /dev/loop0 /home/rootfs    // 挂载loop device 到一个目录

  用mount -l 卸载之后,使用losetup /dev/loop0命令,发现/dev/loop0还是和ramdisk关联在一起的。这个时候,在使用

  mount -l /home/rootfs

  之后,再使用losetup -d /dev/loop0 命令取消关联性即可,这样loop device得到释放了。

 

2.

#fuser -k youdir

#umount youdir

次数多的时候,loop不够用这个问题目前还没碰到。

 
 
Appendix:
 

losetup(loop setup)

功能说明:设置循环设备。

语  法:losetup [-d][-e <加密方式>][-o <平移数目>][循环设备代号][文件]

补充说明:循环设备可把文件虚拟成区块设备,籍以模拟整个文件系统,让用户得以将其视为硬盘驱动器,光驱或软驱等设备,并挂入当作目录来使用。

参  数:
  -d   卸除设备。
  -e<加密方式>   启动加密编码。
  -o<平移数目>   设置数据平移的数目。

 
阅读(1439) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~