之前,我在头条上发表了:「原创」让群晖NAS系统DSM 5.0和DSM 6.0支持exfat文件格式本文是这篇文章的扩展应用之一。原文中,只实现了不用exFAT access加值套件,手工挂载exfat格式的分区。今天,就来讲讲如何实现,用linux的shell脚本,自动挂载exfat分区。
自动挂载exfat分区
【挂载原理】经过对群晖挂载U盘过程的分析,我发现当中会用到2个系统命令,分别是mount和synocheckshare:
/bin/mount/usr/syno/bin/synocheckshare
重电脑 新写两个新的shell脚本,把这2个文件改名替换掉,在系统挂载U盘的时候,先执行自己写的脚本。如果是普通格式,那就执行正常的挂载步骤;如果是exfat格式,就用exfat-fuse来挂载。这样就可以实现对exfat分区的自动挂载了。
由于挂载exfat是特殊方法,所以没法正常的挂载到群晖默认的目录。只能另辟途径,手工把usbshare映射到usbexfat共享目录下面。大概的映射方法如下:
volumeUSB1/usbshare 映射到 /volume1/usbexfat/usbshare1volumeUSB2/usbshare 映射到 /volume1/usbexfat/usbshare2... ...volumeUSB[n]/usbshare 映射到 /volume1/usbexfat/usbshare[n]
文中使用的源代码,在我的GitHub上面都可以找到,有兴趣的朋友可以自己下载看看:
git clone https://github.com/luckylz2git/exfat-synology【测试截图】
先准备一个exfat格式的U盘
电脑放入文本文件
把U盘插入NAS
自动挂载exfat分区
【免责声明】这个方法并不是官方提供的,需要使用到一些简单的Linux命令,不熟悉的话,存在有一定风险。所以,请谨慎尝试,风险自担!
【安装步骤】下面,以DSM 6.0系统为例,演示怎么把自动挂载的shell脚本,安装到群晖NAS里面。DSM 5.0的步骤是一样的,只是exfat-fuse的版本不同。原因请看上一篇文章。
注:如果已经用我的方法,打开了ssh或者telnet、安装好exfat-fuse,并且在存储空间1上面建立了usbexfat的共享文件夹,那么请继续往下。如果还没有,也是请先看上一篇文章!
启动SSH功能
增加共享文件夹usbexfat
(1)用root用户登陆ssh,连上NAS:
ssh root@192.168.1.100
(2)确保NAS可以连接互联网,然后用以下命令下载2个文件,覆盖NAS中的mount和synocheckshare:
wget -P /tmp/ https://github.com/luckylz2git/exfat-synology/raw/master/mount.sh --no-check-certificatechmod 755 /tmp/mount.shmv /bin/mount /bin/mount.binmv /tmp/mount.sh /bin/mountwget -P /tmp/ https://github.com/luckylz2git/exfat-synology/raw/master/synocheckshare.sh --no-check-certificatechmod 755 /tmp/synocheckshare.shmv /usr/syno/bin/synocheckshare /usr/syno/bin/synocheckshare.binmv /tmp/synocheckshare.sh /usr/syno/bin/synocheckshare
不出意外的话,就可以实现exfat分区的自动挂载了!是不是很简单?而且,还可以用群晖里面的弹出功能,弹出exfat分区的设备。
【卸载步骤】(1)用root用户登陆ssh,连上NAS:
ssh root@192.168.1.100
(2)执行以下命令,即可卸载这个小程序,将系统功能复原:
if [ -f /usr/syno/bin/synocheckshare.bin ]; then rm /usr/syno/bin/synocheckshare mv /usr/syno/bin/synocheckshare.bin /usr/syno/bin/synochecksharefiif [ -f /bin/mount.bin ]; then rm /bin/mount mv 电脑/bin/mount.bin /bin/mountfi【总结】
这个小程序,还有一定的限制:只能支持单个分区的U盘。多分区的U盘,只能挂载第一个exfat分区。我原来写这个小程序的目的,是能让群晖NAS可以直接读取exfat格式的存储卡,备份照片。所以,也就没有实现多分区的自动挂载。
虽然这个功能比较冷门,但毕竟是我自己编写的脚本。分享出来,也许有朋友会用到。
【未完待续】下篇文章,我会介绍另一个shell脚本小程序usbsync。可以实现插入U盘后,自动“增量备份”照片到群晖NAS上。
敬请期待,下回再见!
有兴趣的朋友,请加关注、点赞、转发~
电脑