mount -a
作为一次性动作,效果很好。但可移动媒体的自动挂载会恢复为上次重新启动时 fstab 中的设置。
如何使操作系统重新加载/etc/fstab
,以便在连接介质时自动安装使用新设置?
使用 Raspbian (Debian) Stretch 看到的具体示例:
FAT格式的SD卡;配置 fstab 自动挂载;重新启动;卷自动挂载,但只读。
更改了
umask
选项/etc/fstab
;mount -a
当媒体已连接时,卷现在可以读写。卸载并重新插入介质;自动挂载有效,但使用上次重新启动时的选项
/etc/fstab
,因此卷是只读的。重启;操作系统加载已更新
/etc/fstab
;当介质已连接且卷可读写时,自动挂载将起作用。如何在不重启的情况下获得这种效果?
FWIW,(更新的)/etc/fstab
语法是:
/dev/sdb1 /Volumes/boot vfat rw,user,exec,nofail,umask=0000 0 0
答案1
我怀疑这是由 systemd 的转换引起的/etc/fstab
;传统mount
不记得 的内容/etc/fstab
。
刷新 systemd 的世界观,包括更改/etc/fstab
,跑步
systemctl daemon-reload
答案2
为了详细说明回答来自@斯蒂芬·基特:例如,我在以下位置有此条目/etc/fstab
:
vnetsvr-home:/etc/skel /etc/skel nfs4 sec=krb5p,noauto,x-systemd.automount,x-systemd.idle-timeout=10min 0 0
并且只做sudo systemctl daemon-reload
不会重新加载 fstab。我要做:
sudo systemctl daemon-reload
sudo systemctl restart remote-fs.target
要重新加载条目以挂载本地文件系统,您应该使用:
sudo systemctl daemon-reload
sudo systemctl restart local-fs.target
答案3
我知道这些解决方案可能不适用于每个 Linux 发行版和版本。然而,这种方法通常适用于所有 Linux 版本。
1- 进行配置并更改 fstab 文件
2- 使用此命令重新挂载已在 fstab 文件中更改其配置的 device_file:
# mount -o remount [device_file]
这样,您将挂载从“fstab”文件中读取的新配置的分区。
如果您从“fstab”文件中删除了一个分区,只需umount [device_file]
.确保重新启动后该分区保持未安装状态。
任何时候您都可以通过运行命令检查结果mount
。