'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)
详细说明@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)