一、前言
从飞牛刚公测,就在建议区提意见希望相册支持远程挂载,同样是官方应用-影视早早就支持了,相册也有过短暂支持的,后面被官方撤下了。官方理由是相册远程挂载的稳定性受网络环境影响比较大,暂不考虑添加远程挂载。
所有论坛也有很多解决方案,最简单的方案就是将远程挂载目录添加为我的收藏,然后在相册里面就可以通过收藏添加目录,但是显示的时候,不能显示文件夹名,添加多个目录的时候,不方便管理。
找到一个完美方案,是通过mount挂载目录,这样就可以完美解决。
二、临时挂载方法
使用mount挂载远程目录
sudo mount -t cifs //192.168.2.2/相册 /vol1/1000/相册 -o username=用户名,password=密码,uid=1000,gid=1000,nounix
三、持久化挂载方法1-通过shell脚本挂载
1、创建凭据文件
sudo touch /etc/smb-credentials.conf
sudo chmod 600 /etc/smb-credentials.conf
sudo echo "username=your_username" >> /etc/smb-credentials.conf
sudo echo "password=your_password" >> /etc/smb-credentials.conf
2、创建shell脚本
sudo nano /usr/local/bin/mount_smb.sh
文件内容
#!/bin/bash
# 定义多个SMB挂载任务的配置(数组)
declare -a MOUNT_TASKS=(
# 格式:[服务器IP, 共享路径, 挂载点, 凭据文件, SMB版本]
"192.168.2.2,/相册,/vol1/1000/挂载/相册,/etc/smb-credentials.conf,3.0",
"192.168.2.2,/手机,/vol1/1000/挂载/手机,/etc/smb-credentials.conf,3.0",
"192.168.2.2,/影视,/vol1/1000/挂载/影视,/etc/smb-credentials.conf,3.0"
)
# 遍历数组,逐个挂载
for TASK in "{MOUNT_TASKS[@]}"; do
# 解析配置参数(按逗号分割)
IFS=',' read -r SERVER_IP SHARE_NAME MOUNT_POINT CRED_FILE SMB_VERSION <<< "TASK"
echo "===== 开始挂载:{SERVER_IP}{SHARE_NAME} 到 {MOUNT_POINT} ====="
# 1. 创建挂载点目录(若不存在)
sudo mkdir -p "MOUNT_POINT"
# 2. 执行挂载命令(根据配置参数动态生成)
mount -t cifs "//{SERVER_IP}{SHARE_NAME}" "MOUNT_POINT" \
-o credentials="CRED_FILE",vers="SMB_VERSION",uid=1000,gid=1000
# 3. 检查挂载是否成功
if mountpoint -q "MOUNT_POINT"; then
echo "✅ 挂载成功:{MOUNT_POINT}"
else
echo "❌ 挂载失败:{MOUNT_POINT}" >&2
fi
done
设置权限
sudo chmod +x /usr/local/bin/mount_smb.sh
3、设置脚本开机自启动(通过systemd)
sudo nano /etc/systemd/system/smb_mount.service
文件内容
[Unit]
Description=SMB Share Auto Mount
After=network.target
Requires=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=sleep 10
ExecStart=/usr/local/bin/mount_smb.sh
[Install]
WantedBy=multi-user.target
启用并启动服务
sudo systemctl daemon-reload # 重新加载服务配置
sudo systemctl start smb_mount.service # 测试挂载
sudo systemctl status smb_mount.service #检查状态
sudo systemctl enable smb_mount.service # 开机自启
四、持久化挂载方法2-通过fstab挂载
1、将配置写入/etc/fstab
sudo nano /etc/fstab
//192.168.2.2/相册 /vol1/1000/相册 cifs username=用户名,password=密码,vers=3.0,uid=1000,gid=1000,file_mode=0664,dir_mode=0775,iocharset=utf8,_netdev,x-systemd.after=network,x-systemd.timeout=60 0 0
按Ctrl+O键保存文件,按Ctrl+X键退出编辑器。
第一次添加的时候,命令添加错误,造成无法开机,最后重刷了两遍飞牛系统。
后面对命令进行了修改,添加了_netdev和nofail参数
添加了_netdev选项 - 声明这是一个网络设备,等网络就绪后再挂载
添加了nofail选项 - 挂载失败时不报错(不阻塞启动)
但是新问题出现了,开机无法自动挂载,但论坛没看到其他人反馈有问题,不晓得是不是个例。
2、重新加载/etc/fstab文件并挂载所有fstab条目
sudo systemctl daemon-reload
sudo mount -a
3、检查挂载是否成功:
df -hT | grep 相册
飞牛相册使用远程挂载目录的解决方案:等您坐沙发呢!