解决 umount 时出现的 "Device is busy"
1.umount, 老是提示:device is busy, 服务又不能停止的。
可以用"umount -fl"解决!
2.mount的基本用法是?
格式:mount [-参数] [设备名称] [挂载点]
其中常用的参数有:
-a 安装在/etc/fstab文件中类出的所有文件系统。
-f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。
-n 不把安装记录在/etc/mtab 文件中。
-r 讲文件系统安装为只读。
-v 详细显示安装信息。
-w 将文件系统安装为可写,为命令默认情况。
-t <文件系统类型> 指定设备的文件系统类型,常见的有:
ext2 linux目前常用的文件系统
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 网络文件系统
iso9660 CD-ROM光盘标准文件系统
ntfs windows NT/2000/XP的文件系统
auto 自动检测文件系统
-o <选项> 指定挂载文件系统时的选项,有些也可写到在/etc/fstab中。常用的有:
defaults 使用所有选项的默认值(auto、nouser、rw、suid)
auto/noauto 允许/不允许以 –a选项进行安装
dev/nodev 对/不对文件系统上的特殊设备进行解释
exec/noexec 允许/不允许执行二进制代码
suid/nosuid 确认/不确认suid和sgid位
user /nouser 允许/不允许一般用户挂载
codepage=XXX 代码页
iocharset=XXX 字符集
ro 以只读方式挂载
rw 以读写方式挂载
remount 重新安装已经安装了的文件系统
loop 挂载回旋设备
需要注意的是,挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。使用多个-o参数的时候,-o 只用一次,参数之间用半角逗号隔开:
# mount –o remount,rw /
例如要挂载windows下文件系统为FAT32的D盘,一般而言在Linux下这个分区对应/dev/hda5,根据具体的分区情况会有不同,这里就以hda5来举例说明:
# mkdir /mnt/hda5 //创建hda5的目录作为挂载点,位置和目录名可自定义//
# mount -t vfat /dev/hda5 /mnt/hda5
一般而言,Linux会自动探测分区的文件系统,除非让你指定时,否则-t vfat 可以省掉。
# mount /dev/hda5 /mnt/hda5
这样就可以进入/mnt/hda5目录去访问分区中的资源了。
3. 为什么mount上分区后显示不了中文文件为问号/乱码?
显示问号表明你的系统中没有可识别使用的中文字体,请先安装中文字体。确保你的系统已经可以很好的显示中文。显示为乱码一般是mount默认使用的文件系统编码和文件系统中文件的实际编码不一致造成的。要想正常显示中文文件,mount时需要用到 -o 参数里的codepage和iocharset选项。codepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集,简体中文一般用cp936或gb2312。
# mount –o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5
一般来说 mount –o iocharset=cp936 /dev/hda5 /mnt/hda5 就可以解决问题了。
如果这样做了以后还有问题,请尝试UTF-8编码:
# mount –o iocharset=utf8 /dev/hda5 /mnt/hda5
4. 为什么mount上去以后分区普通用户不可写?
mount时加上 –o umask=000 即可:
# mount –o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5
5. 为什么mount上去后的分区中的文件都变成短文件名了?
这是文件系统挂错的原因,将FAT32挂载成FAT16时就会出现这种情况,先umount,然后用 –t vfat 重新挂载即可解决问题。
# mount –t vat /dev/hda5 /mnt/hda5
7. 如何挂载U盘和mp3?
如果计算机没有其它SCSI设备和usb外设的情况下,插入的U盘的设备路径是 /dev/sda1,用命令:
# mkdir /mnt/u
# mount /dev/sda1 /mnt/u
挂载即可。
8. 可以直接使用iso文件吗?
可以,就是mount的这一选项使得Linux下有免费虚拟光驱的说法,具体用法是:
# mkdir /mnt/iso
# mount –o loop linux.iso /mnt/iso
当然,挂载以后挂载点/mnt/iso也是只读的。
12. 如何开机自动挂载分区?
每次挂载都要输入那么长的命令的确是繁琐了些,只要将分区信息写到/etc/fstab文件中即可实现系统启动的自动挂载,例如对于/dev/hda5的自动挂载添加如下的行即可:
/dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0
13. 如何挂载samba 分区?
# mkdir /mnt/share
# mount -t smbfs -o username=root,password=abc,codepage=936,iocharset=gb2312 //192.168.1.100/share /mnt/share
如果中文显示不正常请尝试UTF-8编码。当然可以写到fstab中实现自动挂载。
14. mount --bind是什么意思?
mount --bind 是将一个目录中的内容挂载到另一个目录上,用法是
# mount --bind olddir newdir
这个命令使得自己搭建的FTP要共享某个目录的时候变得特别方便。如果要取消mount用命令:
# mount --move olddir newdir 即可。
如果mount --bind 也想写入fstab中的话格式如下:
olddir newdir none bind 0 0
16. 为什么umount的时候老显示 device busy?
这是因为有程序正在访问这个设备,最简单的办法就是让访问该设备的程序退出以后再umount。可能有时候用户搞不清除究竟是什么程序在访问设备,如果用户不急着umount,则可以用:
# umount -l /mnt/hda5
来卸载设备。选项 –l 并不是马上umount,而是在该目录空闲后再umount。还可以先用命令 ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就umount的非常放心了。另外一个非常管用的工具
假设无法卸载的设备为/dsg,运行下列命令即可:
$ fuser -m -v /dsg
Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...
[ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...
fuser -l
fuser -V
Show which processes use the named files, sockets, or filesystems
-a display unused files too
-c mounted FS
-f silently ignored (for POSIX compatibility)
-i ask before killing (ignored without -k)
-k kill processes accessing the named file
-l list available signal names
-m show all processes using the named filesystems
-n SPACE search in this name space (file, udp, or tcp)
-s silent operation
-SIGNAL send this signal instead of SIGKILL
-u display user IDs
-v verbose output
-V display version information
-4 search IPv4 sockets only
-6 search IPv6 sockets only
- reset options
udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]
-m参数表明指定的路径是一个挂载点显示所有使用指定文件系统的进程,后面可以跟挂载点,-v参数给出详细的输出
用下面这个命令可以将占用目录/dsg所有进程给kill掉:
$ fuser -m –k /dsg
这样umount: /dsg: device is busy这个问题就可以解决.
转自:http://www.cnblogs.com/dkblog/archive/2012/07/18/2597192.html
解决 umount 时出现的 "Device is busy"的更多相关文章
- Linux 环境下umount, 报 device is busy 的问题分析与解决方法
在Linux环境中,有时候需要挂载外部目录或硬盘等,但当想umount时,却提示类似“umount:/home/oracle-server/backup:device is busy”这种提示. 出现 ...
- [Linux] umount目录提示device is busy的解决方法
使用sshfs等方式挂载的目录出现问题时,使用umount卸载经常提示device is busy,如果仔细阅读错误提示就可以找到命令lsof和fuser命令. 其实原因就是有进程占用当前目录,导致不 ...
- umount报错解决device is busy
umount –a 报错device is busy如图 df -h 执行 umount -l /dev/sdk1 fuser -m -v /cache10 再查看卸载了
- 执行umount 命令的时候出现 device is busy
执行umount 命令的时候出现 device is busy ,有人在使用这块磁盘 umount /dev/sde1 umount: /u01/app/oracle: device is busy ...
- Linux在device is busy处理
在Linux管理umount设备时,时常会遇到"device is busy", 假设umount一个文件系统碰到这样的情况.而且你并没有在所需卸载的文件夹下.那么非常可能实用户或 ...
- Linux umount设备时出现device is busy解决方法
在Linux中,有时使用umount命令去卸载LV或文件时,可能出现umount: xxx: device is busy的情况,如下案例所示 [root@DB-Server u06]# vgdisp ...
- linux umount 提示device is busy 的解决
linux umount 提示"device is busy" 终极解决 为了干净地关闭或热交换 UNIX 或类 UNIX 系统上的存储硬件,必须能够卸载使用此设备上的存储的所有文件系统.但是,如果正 ...
- 解决umount: /home: device is busy
取消挂载/home时出现umount: /home: device is busy, 原因是因为有程序在使用/home目录,我们可以使用fuser查看那些程序的进程, 然后 ...
- 解决umount.nfs: /data: device is busy 问题
有时候我们需要umount某个挂载目录时会遇到如下问题: [root@localhost /]# umount /data/ umount.nfs: /data: device is busy 通过这 ...
随机推荐
- 转---B/S结构JavaEE WebApp的全自动安装包制作心得
JavaEE的Web应用程序如今已大行其道,但其安装.配置.部署却一直繁琐无比,客观上阻碍了Web应用程序更大规模的推广和应用.因此,开发方制作一个集JDK.Web中间件.开源数据库的全自动安装程序很 ...
- WPF学习笔记——依赖属性(Dependency Property)
1.什么是依赖属性 依赖属性是一种可以自己没有值,并且通过Binding从数据源获得值(依赖在别人身上)的属性,拥有依赖属性的对象被称为"依赖对象". 依赖项属性通过调用 Regi ...
- web发布 将各个文件夹输出合并到其自己的程序集 注意事项
今天在发布web网站的时候 使用了“将各个文件夹输出合并到其自己的程序集”的选项,如图: 开始在 程序集前缀(可选)处,没有填写内容. 发布到IIS后出现未加载到程序集xxxx的错误. 经过各种调试, ...
- Lua string库整理
string库提供了字符串处理的通用函数. 例如字符串查找.子串.模式匹配等. 当在 Lua 中对字符串做索引时,第一个字符从 1 开始计算(而不是 C 里的 0 ). 索引可以是负数,它指从字符串末 ...
- 将list中的数据通过某一个字段来分类存储的实例
现有学生表 public class Student { /** * 班级id */ private String classId; /** * 学生name */ private String na ...
- springMVC 返回json 忽略类中属性的注解
该注解使用在 类名,接口头上 @JsonIgnoreProperties(value={"comid"}) //希望动态过滤掉的属性 该注解使用在get方法头上 @JsonIgno ...
- 用JS控制video暂停再播放
模块就是用来进行封装,进行高内聚 低耦合的功能.其实各人认为ng2 的模块和.net的工程类似,如果要使用模块中定义的功能,第一步就是必须要引用它,ng2 中叫import 导入.那么我们看模块是否有 ...
- LeetCode 【31. Next Permutation】
Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...
- 【IOS学习】1.IOS框架
1.框架概述 iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa ...
- ecs CentOS 7 安装 mysql (mariadb)
检查之前是否已经安装 rpm -qa | grep mariadb 如果已安装,卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 开 ...