最近给笔记本装 archlinux,想挂载群晖 smb 共享出来的文件夹,但是 kde 的 文件管理器 dolphin 总是搜索不到 smb 的地址,直接在地址栏输入地址也提示访问不到,最后研究了半天,发现还是命令行挂载比较靠谱,这里记录一下挂载过程。

挂载命令

# 先安装客户端工具
sudo pacman -S cifs-utils
# 创建挂载文件夹
cd /mnt
sudo mkdir smb_dsm
# 手动挂载文件夹
sudo mount.cifs //192.168.2.100/data /mnt/smb_dsm -o user=user,pass=passwd,uid=1000,gid=1000,sec=ntlmssp,vers=1.0 --verbose

ps:如果这里挂载失败,可以排查尝试删掉最后的版本信息vers=1.0,我的 dsm 升级到 7.1 之后,挂载不成功,后来去掉这个版本信息后,就没问题了

保存共享密码

在/etc/samba/下建立 credentials 文件夹:sudo mkdir credentials
创建比如名为 share-smb 的文件: sudo vim smb_dsm,内容如下:

username=user
password=passwd

自动挂载

在上面的命令行挂载调通后,要实现开机自动挂载就容易多了,arch wiki 官方文档提供的多种的挂载方式,个人更喜欢 systemd:
创建 systemd .mount 文件:sudo vim /etc/systemd/system/mnt-smb_dsm.mount,内容如下:

[Unit]
Description=Mount Share at boot

[Mount]
What=//192.168.2.100/smb_dsm
Where=/mnt/smb_dsm
Options=x-systemd.automount,credentials=/etc/samba/credentials/smb_dsm,iocharset=utf8,uid=1000,gid=1000,sec=ntlmssp,vers=1.0,rw
Type=cifs
TimeoutSec=30
ForceUnmount=true

[Install]
WantedBy=multi-user.target

ps

  1. 这里有一点要注意的是你的挂载路径 (smb_dsm) 必须与你的文件名(mnt-smb_dsm)对应,比如你挂载到/mnt/smb_dsm, 那你的文件就必须为 mnt-smb_dsm.mount
  2. 这里也要注意,挂载不成功的话,检查一下是不是版本问题vers=1.0
# 刷新systemd
sudo systemctl daemon-reload
# 服务开机自启
sudo systemctl enable mnt-smb_dsm.mount
# 启动服务
sudo systemctl start mnt-smb_dsm.mount

参考文章

Q.E.D.


梦醒花犹存,铁甲依然在