答案1
来自man systemd.mount
systemd 231 版本:
引用本地和网络文件系统的安装单元通过其文件系统类型规范来区分。在某些情况下,这还不够(例如基于网络块设备的安装,例如 iSCSI),在这种情况下_netdev可以添加到该单元的挂载选项字符串中,这会强制 systemd 将挂载单元视为网络挂载。
答案2
系统V初始化
init/etc/init.d/mountall.sh
脚本仅挂载本地文件系统:
mount -a -t nonfs,nfs4,smbfs,cifs,ncp,ncpfs,coda,ocfs2,gfs,gfs2,ceph -O no_netdev
其他文件系统由单独的初始化脚本安装,例如/etc/init.d/mountnfs.sh
,它声明(通过 LSB 标头)它们对$network
.因此,这些任务会在网络启动后稍后安排,但mountall.sh
可以更早地运行。
系统
本地安装单元由 拉入local-fs.target
,远程安装单元由拉入remote-fs.target
。systemd-fstab-generator
扫描/etc/fstab
,生成安装单元,并根据与上述类似的条件将它们分配给上述目标。
延迟连接
此选项意味着 sshfs 不会在挂载时启动与远程服务器的 SSH 连接,而只会在实际需要它的第一个文件系统操作时才会这样做。这会延迟错误报告,但在某些情况下可能是一个有用的解决方法,例如,如果您的初始化系统没有足够的信息来正确排序安装操作。 “网络”“起来”是一个相当松散的术语,即使可以添加任意额外的依赖如果触发事件不是启动事务的一部分(用 systemd 的说法),则挂载没有帮助的单元。
答案3
Upstart/Udev
对于upstart
和/或udev
基于系统,这略有不同。
它似乎udev
仍会尝试挂载 NFS 文件系统,并且netfs
是失败时的安全网。
如果我错了,请纠正我。不管怎样,这个答案只与一些最近的遗留系统(Ubuntu 14.04 LTS,RHEL6)相关。