Linux从设备本身运行的脚本中卸载设备

时间:2013-11-15 11:55:44

标签: linux bash shell umount

我在路径中安装了iso映像:

/mnt/iso

在这个iso中我有一个安装脚本install.sh 我从iso运行安装脚本,最后脚本询问用户是否要卸载iso本身。 如果用户按“y”,脚本将执行以下代码:

cd /
umount /mnt/iso
echo "Installation completed!"

不幸的是,当脚本尝试执行umount时出现错误

umount: /mnt/iso: device is busy

我想这是因为虚拟设备忙于脚本本身。 怎么能让它起作用? TNX

2 个答案:

答案 0 :(得分:3)

使用-l--lazy切换到umount这将执行延迟卸载,只有在不再使用时才会完全卸载。手册页中的完整描述(这是一个特定于Linux的选项)是:

  

懒惰卸载。从文件系统层次结构中分离文件系统   现在,并尽快清除对文件系统的所有引用   忙了。 (需要内核2.4.11或更高版本。)

答案 1 :(得分:0)

如果您使用的是最新版本,TomH的解决方案将解决此问题。否则Simone Palazzo的评论是你最好的选择。您正通过位于要卸载的区域中的脚本卸载某些内容。如果从根目录运行脚本,则会成功。