树莓派挂载和卸载U盘或移动硬盘
通常我们在 /mnt 或 /media 目录下新建一个目录udisk作为挂载点
sudo mkdir /mnt/udisk
1.手动挂载:
挂载命令:
sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/udisk
卸载命令:
注意:可以输入 fdisk -l查看你U盘的具体分区。如下图:
sda1 是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。
如果你的U盘或移动硬盘使用的是 exFAT 格式,安装 exfat-fuse 软件之后 mount 就支持了。
sudo apt-get install exfat-fuse
2.开机挂载:
如果想开机自动挂载,而不是每次手工执行,可以编辑 /etc/fstab 文件。在末尾添加一行:
设备序号 挂载点 文件系统类型
[ruby] view plaincopy KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"
SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"
IMPORT{program}="/sbin/blkid -o udev -p %N"
ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end"
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k"
ACTION=="add", ENV{mount_options}="relatime,sync"
ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umaskk=000"
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umaskk=000"
ACTION=="add", RUN+="/bin/mkdir -p /mnt/udisk/", RUN+="/bin/mount -o $env{mount__options} /dev/%k /mnt/udisk/"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /mnt/udisk/}", RUN+="//bin/rmdir /mnt/udisk/"
LABEL="media_by_label_auto_mount_end"
出处:https://indream.cn/2016/07/21/pi-mount-udisk/
===================================================================================================
外接U盘或移动硬盘时,默认不会自动挂载,所以需要用 mount 命令挂载。通常我们在 /mnt 或 /media 目录下新建一个目录作为挂载点。比如:
1
2
3
4
|
sudo mkdir /mnt/1GB_USB_flash sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/1GB_USB_flash // 用完之后卸载 sudo umount /mnt/1GB_USB_flash |
sda1 是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。
挂载exFAT格式的硬盘
FAT 格式U盘 mount 本身就能支持,但如果你的U盘或移动硬盘使用的是 exFAT 格式,mount 会说不支持。没关系,安装 exfat-fuse 软件之后 mount 就支持了。
1
|
sudo apt-get install exfat-fuse |
如果想开机自动挂载,而不是每次手工执行,可以编辑 /etc/fstab 文件。比如在末尾添加一行:
1
|
/dev/sda1 /mnt/usbdisk vfat rw,defaults 0 0 |
挂载NTFS格式的硬盘(读写方式挂载)
默认挂载NTFS格式的硬盘只有只读权限,需要借助其它工具实现。
1
2
3
4
5
6
7
8
9
|
#安装所需软件包 sudo apt-get install fuse-utils ntfs-3g #加载内核模块 modprobe fuse #编辑fstab让移动硬盘开机自动挂载 sudo nano /etc/fstab #在最后一行添加如下内容 /dev/sda1 /mnt/myusbdrive ntfs-3g defaults,noexec, umask =0000 0 0 #保存重启,即可生效 |
挂载FAT32格式的硬盘
1
2
3
4
5
6
7
|
#创建挂载点 sudo mkdir /mnt/myusbdrive #编辑fstab让移动硬盘开机自动挂载 sudo nano /etc/fstab #在最后一行添加如下内容 /dev/sda1 /mnt/myusbdrive auto defaults,noexec, umask =0000 0 0 #保存重启,即可生效 |
说明:
sda1是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。
umask=0000 0 0
前面四个0就是对所有人,可读可写可执行,
后面两个0,第一个代表dump,0是不备份
第二个代表fsck检查的顺序,0表示不检查
卸载:sudo umount /mnt/myusbdrive
查看挂载情况可使用以下命令。
1
2
|
cd /mnt/myusbdrive ls |
挂载U盘的更多细节请参考 RPi Adding USB Drives。
出处:树莓派实验室
==================================================================================================
卸载USB设备
解挂文件系统。umount [-ahnrvV][-t <文件系统类型>][文件系统]
umount可卸除目前挂在Linux目录中的文件系统。
线上在用的nfs访问时出了问题,导致/data1目录ls都无法进行输出,需要进行卸载掉 。而直接卸载时由于目录正被其他进程占用 ,无法直接umount,这里就结合fuser进行umount卸载。
1、直接卸载
[root@localhost /]# umount /data1/img
umount: /data1/img: device is busy
umount: /data1/img: device is busy
2、提示被占用,使用强制卸载
[root@localhost /]# umount -f /data1/img
umount2: Device or resource busy
umount: /data1/img: device is busy
umount2: Device or resource busy
umount: /data1/img: device is busy
注:使用-f 参数进行强制卸载时一般建议等一会儿再进行下面的操作,一些情况下处理需要1-2分钟的时间。
3、使用umount -f,问题依旧。使用fuser命令,先确认有那些进程在占用该目录
[root@localhost /]# fuser -cu /data1/img
/data1/img: 1757c(mysql)
上面查看发现是pid为1757的mysql用户起的进程在占用该目录。
4、确认mysql所起的进程可以kill 后,可以直接使用fuser 的k参数进行kill (也可以手动停掉1757进程再卸载)
[root@localhost /]# fuser -ck /data1/img
/data1/img: 1757c
注:这里k 就是kill的意思,注意没进行确认前要谨慎使用该参数。
确认
[root@localhost /]# fuser -c /mnt
[1]+ Killed dd if=1g of=/dev/null bs=1M (wd: /mnt)
(wd now: /)
另外,umount异常时,也经常会用到 lsof 指定确认文件被什么进程占用
出处:https://blog.csdn.net/wendellluntan/article/details/73087874
=============================================================================================
最后在给一个 fuser命令 用法详解 做为参考:
fuser命令_Linux fuser 命令用法详解
树莓派挂载和卸载U盘或移动硬盘的更多相关文章
- Linux 挂载和卸载U盘
一般的U盘挂载方法: mount [-fnrsvw] [-t vfstype] [-o options] device dir 参数:device表示要挂载的设备,dir表示挂载点 -t 指定设备的 ...
- 在linux下挂载、卸载U盘
首先你得保证你的U盘的格式是fat格式. 先进入/mnt/目录新建一个usb目录 cd /mnt/ mkidr usb 先fdisk -l,然后插上U盘,fdisk -l 查看是否有新的硬盘添加上来了 ...
- Linux格式化、挂载及卸载数据盘
注意: 磁盘分区和格式化是高风险行为,请慎重操作.本文档描述如何处理一个新买的数据盘,如果您的数据盘上有数据,请务必对数据进行备份以避免可能的数据丢失. 服务器仅支持对 数据盘 进行分区,而不支持对 ...
- LINUX 下挂载 exfat 格式 u 盘或移动硬盘
apt-get update apt-get install exfat-utils
- 在CentOS 6.x中支持exfat格式的U盘(移动硬盘)
参考资料:http://linux.cn/article-1503-1.html CentOS系列一直没有默认支持使用exfat格式的大容量U盘(移动硬盘),但可以通过添加fuse-exfat模块来支 ...
- Linux或树莓派3——挂载U盘、移动硬盘并设置rwx权限
话说最近在树莓派上搭建了一个owncloud,因为树莓派的存储空间有限,就插了个16G的U盘,然后设置成开机自动挂载.这里稍微注意一下的是U盘的格式最好不要NTFS,因为一般情况下NTFS格式的文件系 ...
- Linux(CentOS)挂载NTFS格式的U盘、移动硬盘
以下操作均在root下执行的 1.U盘挂载 mkdir /mnt/usb //创建一个目录,用于挂载U盘 fdisk -l //查看系统中挂载的U盘,若系统有一块硬盘sdb1 代表你的U盘,/dev/ ...
- CentOS提示::unknown filesystem type 'ntfs'自动挂载NTFS分区的U盘或者移动硬盘
CentOS默认源里没有NTFS-3G,想要添加ntfs支持,无非是自己下载编译安装或者加源yum安装.重新安装了一个CentOS7,用的是添加aliyun的epel源来yum安装的方式,简单易行. ...
- ubuntu 16.04 u盘挂载以及卸载
1.列出所有磁盘 sudo fdisk -l 2.最后一段信息显示的为u盘 Device Boot Start End Sectors Size Id Type /dev/sdb4 * 256 786 ...
随机推荐
- AIM Tech Round 3 (Div. 1) (构造,树形dp,费用流,概率dp)
B. Recover the String 大意: 求构造01字符串使得子序列00,01,10,11的个数恰好为$a_{00},a_{01},a_{10},a_{11}$ 挺简单的构造, 注意到可以通 ...
- UVA-701 The Archeologists' Dilemma (数论)
题目大意:给了一个2^E的前缀n,已知前缀n的位数不到2^E的位数的一半,找出满足条件的最小E. 题目解析:设2^E为i位数,则有n*10^i<2^E<(n+1)*10^i.解不等式得到i ...
- 小议常被忽略的a标签:visited属性的特殊用法
CSS1/CSS2对于a定义了4个伪类, :link a标签未访问时的样式 :active a标签mousedown时的样式 :hover a标签mouseover时的样式 :visited ...
- Windows系统配置Python环境,python2和python3共存
Windows系统配置python2和python3共存 1.下载python: https://www.python.org/downloads/ 注:选择需要的版本(python2 or ...
- PHP:第四章——数组中的排序函数
<pre> <?php header("Content-Type:text/html;charset=utf-8"); //1) /*sort - 对数组进行升序 ...
- C/S架构系统自动化测试入门
所谓C/S架构即Client/Server(客户端/服务器架构).虽然近年来C/S架构产品越来越少,大有被B/S(Browser/Server 浏览器/服务器)架构超越的趋势,但C/S还是有B/S不可 ...
- 拷贝构造函数(define)
1.拷贝构造函数是一种特殊的构造函数,具有单个形参,此形参是对该类型的引用. 当定义一个新对象并用一个同类型的对象对它进行初始化时,将显示使用拷贝构造函数. 2.当将该类型的对象传递给函数或从函数返回 ...
- win7自带wifi win7无线网络共享设置图文方法
win7自带wifi win7无线网络共享设置图文方法 点评:开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让电脑变成无线路由器,实现共享上网,节省网费和路由器 ...
- Linux:centos内核升级
centos内核升级 centos升级2.6内核到3.10 在yum的ELRepo源中,有 m ain l ine(3.13.1). l ong- t erm(3.10.28)这2个内核版本,long ...
- golang多核的使用
实际上协程只是发生在单个进程内部的,要是想充分的发掘多核CPU的潜力,还是需要多进程的支持. 对于多核编程,go是天生支持,那么我们在什么情况下应该用多核心来加速程序,而在什么情况下用单核即可呢? 现 ...