fstab方式挂载samba磁盘

2020-07-19T15:35:00

最近我笔记本的SSD出现了坏块,而且日渐增多,看样子好像是要挂的节奏。

正好,毕设也搞完了,树莓派又要开始吃灰了。我就寻思着把我新买的一个3T机械盘挂在树莓派上,当作一个备份盘来用,顺便做成家庭共享的那种。

树莓派搭建samba这种教程网上一搜就有,我也就不再赘述,实际做好之后速度也还可以接受——关键在于要用有线来连接树莓派和路由器,wifi连接的速度有点问题(顺便一提,我是树莓派3b+)。但当我想把这个samba磁盘设置开机挂载时候,出大问题了。网上也找不到什么人说这个,所以决定自己记录一下。

如果你在网上搜索fstab挂载samba或者类似的问题,会看到各式各样的fstab写法。

比如Archwiki的://SERVER/sharename /mnt/mountpoint cifs _netdev,username=myuser,password=mypass 0 0

又比如csdn某博客的//shwde7xxx.ccr.corp.xxxxx.com/SE_DailyBuild /home/12/345 cifs auto, username=gli16,password=xxxxx 0 0

等等,就不一一列举了。

但我一一试下来,都不行。因为系统在启动过程中是没有启动网络连接的,这就导致了当fstab打算加载这个samba设备时,由于找不到地址进而挂载失败。如此一来,我还是要在系统启动后,手动在终端进行挂载操作。

当时越搜越气,这帮博主真的就这么不负责任的?还是就我的系统有这个问题?

最终,我决定自己尝试。

尝试的过程就不多说了,难倒是不难,只是fstab各种可能的参数都加上去试一下,但操作还是挺麻烦的:因为问题出现在启动时不能联网,所以我必须重新启动系统来验证参数是否有效。如果按一般方法通过umountmount -a来测试的话,不管什么参数都是成功的(因为这种操作是在有网络连接的情况下进行的)。

最终我的fstab是这样的:

//SERVER/sharename /mnt/samba cifs username=xxx,password=xxx,comment=systemd.automount,nofail,rw,uid=1000,gid=1000

简单解释几点

  • rw:使有读写权限
  • uid=1000,gid=1000:这两个参数让非root用户也可对这个磁盘进行读写
  • nofail:最关键的参数。无论其他参数怎么写,只要有这个,就可以保证即使开机时挂载失败,在进入桌面后还可以直接挂载上而无需用户再通过终端进行操作。

不多说了,也许这也是我头一次遇到比较冷门的问题吧……

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »