如何强制操作系统重新加载 fstab?

Ric*_*rdH 19 fstab

'mount -a' 作为一次性操作可以正常工作。但是可移动媒体的自动挂载会恢复为上次重新启动时 fstab 中的设置。

如何让操作系统真正重新加载 fstab,以便在连接媒体时自动安装使用新设置?

使用 Raspbian (Debian) Stretch 看到的具体示例:

  • FAT 格式的 SD 卡;将 fstab 配置为自动挂载;重新启动;卷自动挂载,但 RO

  • 更改了 fstab 中的 umask 选项;mount -a 当媒体连接时,卷现在是 RW

  • 卸载并重新插入媒体;自动挂载工作,但使用上次重新启动时 fstab 中的选项,所以卷是 RO

  • 重启; 操作系统加载更新的 fstab;连接媒体时自动挂载工作,音量为 RW - 如何在不重新启动的情况下获得此效果?

FWIW,(更新的)fstab 语法是:

/dev/sdb1   /Volumes/boot   vfat    rw,user,exec,nofail,umask=0000  0   0
Run Code Online (Sandbox Code Playgroud)

Ste*_*itt 18

我怀疑这是由 systemd 的转换引起的/etc/fstab;传统mount不记得/etc/fstab.

要刷新 systemd 的世界观,包括对 的更改/etc/fstab,请运行

systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!你可以想象谷歌除了这个查询的“mount -a”命中之外什么也没返回。对表进行动态重新生成时是否会产生任何不需要的副作用?看来不是。 (2认同)

Ing*_*ngo 8

详细说明@Stephen Kitt答案:例如,我在以下条目中有此条目/etc/fstab

vnetsvr-home:/etc/skel   /etc/skel    nfs4   sec=krb5p,noauto,x-systemd.automount,x-systemd.idle-timeout=10min   0   0
Run Code Online (Sandbox Code Playgroud)

并且只做sudo systemctl daemon-reload不会重新加载fstab。我要做:

rpi ~$ sudo systemctl daemon-reload
rpi ~$ sudo systemctl restart remote-fs.target
Run Code Online (Sandbox Code Playgroud)

要重新加载条目以挂载本地文件系统,您应该使用:

rpi ~$ sudo systemctl daemon-reload
rpi ~$ sudo systemctl restart local-fs.target
Run Code Online (Sandbox Code Playgroud)