debian 挂载 SMB 网络磁盘

测试挂载 #

mount -t cifs //10.0.0.10/dir /path/to/dir -o username=root,password=passwd

开机自动挂载 #

## 创建cifs_mount.service
touch /etc/systemd/system/cifs_mount.service

## 编辑
vim /etc/systemd/system/cifs_mount.service
[Unit]
Description=CIFS Mount Service
After=network-online.target

[Service]
Type=oneshot
ExecStartPre=/bin/sleep 5
ExecStart=/bin/mount -t cifs //10.0.0.10/dir /path/to/dir -o username=root,password=passwd
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
## 开机自动挂载
systemctl daemon-reload
systemctl enable cifs_mount.service

为什么不用 fstab #

另外一个挂载方法是将挂载参数写入/etc/fstab,但这样有些弊端。比如 fstab 挂载时可能本机网络还未初始化,或者网络磁盘并不总是在线,这些可能导致系统卡在启动界面无法启动。

当然你也可以尝试摆弄nofailx-systemd.device-timeoutx-systemd.mount-timeout等参数,这增加了配置的复杂性。使用systemd启动脚本的方式相对简单优雅,即使失败了也不会阻塞系统,可以在后续查看错误日志。