卸载linux的文件系统的方法

发布时间:2020-05-07编辑:脚本学堂
卸载linux的文件系统的方法,供大家学习参考。卸载文件系统相关命令:umount
辅助命令:fuser kill lsof命令介绍:
umount 设备点名称|挂载目录umount选项解释-V 打印版本

卸载linux的文件系统的方法,供大家学习参考。

卸载文件系统相关命令:umount
辅助命令:fuser kill lsof

命令介绍:
umount 设备点名称|挂载目录

umount选项解释

-V 打印版本信息并且推出。

[root@node5 ~]# umount -V
 umount (util-linux 2.13-pre7)
[root@node5 ~]# rpm -qa|grep util-linux
 util-linux-2.13-0.50.el5
这里显示umount命令属于util-linux 2.13-pre7的rpm包,然后我们使用rpm查询命令可以找到系统具体安装的rpm包。

-h 打印简要帮助信息。

[root@node5 ~]# umount -h
 Usage: umount [-hV] umount -a [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]
  umount [-f] [-r] [-n] [-v] special | node...

-v 打印详细信息。

如果我们使用umount -个目录或者设备点,如果成功的话,不带-v选项,将不会打印信息。
[root@node5 ~]# umount -v /dev/mapper/vg01-share
/dev/mapper/vg01-share umounted

-n umount的时候不会更新/etc/mtab文件
-r 如果umount失败,重新挂载文件系统为只读模式
-a /etc/mtab中记录的文件系统全部卸载
-t 指定文件系统类型。如ext3,fat32,iso9600等
-f 强制卸载。in case of an unreachable NFS system
-l 属于一个延迟卸载,等文件系统所有资源释放后在卸载。

umount的绝对路径一般是/bin/umount,权限为
-rwsr-xr-x 1 root root 38936 Nov 25  2008 /bin/umount
    也就是所有用户都可以执行这条命令,但是一般不带-n选项,一般用户是无法执行成功的,因为/etc/mtab文件的权限位只有root用户可写。
    umount 后面可以指定设备文件名也可以指定挂载点。umount使用挂载点和设备文件名是不同的,当使用挂载点时,也就是卸载当前挂载点的文件系统,当使用设备文件名时,也就是卸载当前设备所对应的文件系统全部卸载。也就是说一个设备点可以被多次挂载,一个挂载点只对应一个设备。
fuser 识别进程使用的文件或者套接字
fuser显示进程所使用文件系统或者文件的进程号加上使用的方式(字母标识)。各字母的具体含义如下:
c 当前目录
e 执行目录
f 打开文件
F 打开文件用来写
r 根目录
m 映射文件或者共享库

fuser 返回值。如果没有进程在使用该文件或者文件系统返回非0,如果有进程在使用则返回0
fuser 打印输出。 pid号打印到标准输出,其他的打印到标准错误。
主要的命令行选项:
-k 发送SIGILL信号给进程,也就是强制杀掉使用文件或者文件系统的进程,等同于kill -9
-i 交互模式
-l 显示可以发送的信号

[root@node5 ~]# fuser -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS UNUsed
这些信号的标准模式为SIG+显示的名字
-m 显示使用文件或者文件系统的进程
-signal 发送信号给进程
-4|-6 使用IPV4或者IPV6

实例1
显示使用/share(为一挂载点)的进程
[root@ser221 ~]# fuser -m /share 
/share:              11755c 11863c
详细模式:
[root@ser221 ~]# fuser -mv /share
         USER        PID ACCESS COMMAND
/share:  mysql     11755 F.c.. mysqld
         com       11863 ..c.. ComServer

实例2
查看使用3306端口的进程:
[root@ser221 ~]# fuser -n tcp 3306            
3306/tcp:            11755

[root@ser221 ~]# fuser -nv tcp 3306
USER        PID ACCESS COMMAND
3306/tcp:   mysql     11755 F.... mysqld

lsof暂时没有使用,这个命令同样可以获得文件系统的使用情况。
umount filesystem最经常碰到的问题就是‘device is busy’,在这种情况下,结合使用fuser可以看到哪些进程在使用挂载点,然后停掉进程,即可umount成功。