飞牛OS自定义远程挂载目录到本地

背景

飞牛OS系统的远程挂载功能,可以将百度网盘、阿里网盘、SMB、Webdav、Ftp、SFtp、NFS等挂载到系统中
但是,系统默认的挂载路径在/vol02目录下的随机文件夹下,并且无法显示在文件管理中,使用起来很不方便

通过查阅系统启动脚本发现,系统中远程挂载功能是通过rclone实现,但是使用的并非完整版rclone,其中很多功能被阉割。
为不影响原生系统,这里不进行覆盖安装。

解决方法

挂载远程文件

使用系统文件管理窗口下的远程挂在功能,输入挂载地址等信息,完成挂载操作。

修改挂载路径

创建挂载点

在文件管理中,自行创建一个文件夹,复制文件夹路径。
路径通常为 /vol1/1000/***

修改远程挂载点

通过ssh等操作,进入系统控制台
进入/etc/mountmgr/目录下
使用vim或nano等文本编辑工具编辑mount_info.json文件
该文件使用json结构管理每一个远程挂载项的挂载信息
修改"mountPoint:"后的挂载路径为上一步创建的挂载点。
保存文件。
自行学习使用文本编辑工具

重启mountmgr服务

修改文件后,还不能立即生效,需要重启服务生效
通过如下命令重启mountmgr服务.

systemctl restart mountmgr.service 

输入此命令后,可能会要求输入root用户密码进行身份验证,输入密码并回车即可。

注意
如果无法使用以上命令重启服务,可通过重启系统完成此操作。

验证结果

mountmgr服务重启后,正常情况下,远程挂在应能自动完成挂载操作
通过打开创建的挂载点,即可看到网盘中的内容。

如果没有文件,可尝试在文件管理中,远程挂载窗口,断开并重连网盘。

异常排查方法

查看挂载点挂载路径
输入df命令查看挂载点是否成功挂载。

df
  • 1

查看mountmgr服务是否正常运行

systemctl status mountmgr.service
  • 1

正常打印如下,查看Active行是否异常

● mountmgr.service - trim mount service
     Loaded: loaded (/etc/systemd/system/mountmgr.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-01-19 20:28:55 CST; 24min ago
   Main PID: 10951 (mountmgr)
      Tasks: 19 (limit: 9291)
     Memory: 56.3M
        CPU: 54.799s
     CGroup: /system.slice/mountmgr.service
             ├─10951 /usr/trim/bin/mountmgr
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

查看rclone是否运行
执行如下命令,查看rclone是否运行。

ps aux | grep rclone | grep -v grep
  • 1

如果网盘成功连接,应至少输出一行结果

root       11102  4.4  0.8 730048 68072 ?        Sl   20:29   1:16 /usr/bin/rclone --config /etc/mountmgr/rclone/1000.conf mount --daemon 1000-1-xxxxxx:/dav /vol1/1000/xxx --no-check-certificate --allow-other --uid 1000 --gid 1001 --umask 000 --default-permissions --dir-cache-time 10s --webdav-vendor rclone --vfs-cache-mode off --timeout 30s --contimeout 10s --daemon-timeout 180s --daemon-wait 30s --poll-interval 10s --low-level-retries 2
  • 1