UNRAID挂载exFat格式的USB磁盘后续(自动挂载)

上次写完博客UNRAID挂载exFat格式的USB磁盘后,发现高兴的实在是太早,悲催的原因是重启NAS后发现并没有自动挂载exFat格式的磁盘,这次解决掉这个瑕疵,还是先说方法,之后再写探索路程。

撸袖子肝之自动挂载

我之前给NAS安装过unassigned.devices插件,用来自动挂载移动硬盘,这次操作要依赖于这个插件了,这次需要对unassigned.devicesfuse-exfat动手脚,达到的目的就是在unassigned.devices启动的时候,重新安装fuse-exfat.txz包,

1. 添加启动脚本

关闭NAS主机,拔下启动U盘,使用电脑打开U盘,重新下载fuse-exfat-1.2.1-x86_64-1_slack.txz文件到U盘并放在config/plugins目录下,后面会用到,复制unassigned.devices.plg文件并重命名为fuse-exfat.sh(复制文件是保障文件的编码格式一致,LinuxWindows的编码是不一致的,容易出乱码的问题),然后用Notepad++等编辑工具打开fuse-exfat.sh文件(同样为了规避编码可能引起的混乱,尽量不要使用Windows自带的记事本),U盘中的目录结构如下图所示:

UNRAID挂载exFat格式的USB磁盘后续(自动挂载)_第1张图片
fuse-exfat.sh文件中复制粘贴以下内容,保存文件后退出。

#!/bin/bash
# install fuse-exfat package into system
installpkg /boot/config/plugins/fuse-exfat-1.2.1-x86_64-1_slack.txz

截图参考:
UNRAID挂载exFat格式的USB磁盘后续(自动挂载)_第2张图片

2. 重新开启NAS并进行后续设置

NAS主机插上U盘,重新开机,进入WEB管理界面,点击Unassigned Devices插件后面的设置选项,进行后续附加脚本文件启动项设置。
UNRAID挂载exFat格式的USB磁盘后续(自动挂载)_第3张图片
之后进入到如下图配置界面,在Common Script中点击就可以按着路径找到我们保存在U盘中的fuse-exfat.sh文件,选中确认(APPLY),然后就可以重启NAS看成果了。
UNRAID挂载exFat格式的USB磁盘后续(自动挂载)_第4张图片
重启后exFat格式的硬盘自动挂载成功!!!

探索发现之路

1. 查看现象分析原因

现象:尝试重新按着UNRAID挂载exFat格式的USB磁盘再执行一遍命令,就可以挂载成功

分析:
UNRAID系统是从U盘启动的,是一种在U盘上运行Linux系统,每次开机启动的进入的都是新系统,所以上次安装的扩展包在本次启动会后不会生效,原因就是软件包并没真正的安装到磁盘上,就和体验Linux发行版一样,启动后上次的操作全部失效。
思路:
只要在开机启动后,让系统自动安装上fuse-exfat.txz,应该就可以解决自动识别的问题。

2. 寻找能运行自定义脚本的入口

UNRAIDWEB管理页面中,把所有的配置项都翻一遍,希望能找到可以运行自定义脚本配置项,之后把启动U盘插在Windows系统上翻看所有能以文本方式打开的文件,寻找蛛丝马迹。后来在config/plugins中看到了熟悉的身影,发现了Unassigned Devices插件的目录及unassigned.devices.plg文件,本着试试看到原则就继续翻看unassigned.devices.plg文件,发现这个是文件中包含这大量的启动脚本,查找其他的位置无效的话,可以在这里加入启动自定义脚本进行尝试。暂时知道几个有价值的信息,后来去找我当时我安装插件的来源,在GitHub上, Unassigned Devices的GitHub链接,插上U盘重新打开NAS,翻了翻Unassigned Devices的WEB配置,意外发现有2处可以运行外置脚本的入口,如下图所示:
UNRAID挂载exFat格式的USB磁盘后续(自动挂载)_第5张图片
在这里插入图片描述
UNRAID挂载exFat格式的USB磁盘后续(自动挂载)_第6张图片
找到了入口,写个启动脚本,让系统启动的时候自动运行installpkg fuse-exfat.txz就可以了。此段内容写的并不是很好,由于“撸袖子肝”部分还是挺重要的,就先把此文章发出去了,后续在慢慢修改细节吧,希望理解。

参考:
[1] Unassigned Devices GitHub链接

你可能感兴趣的:(NAS,NAS,UNRAID)