Answers:
在/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的话来说)。
_netdev
选项传递给mount
命令,则该选项将在其中可见,/proc/mounts
但没有其他效果。
/etc/fstab
文件中时才有用。” 好吧,_netdev
(稍后记录)是一个很好的例子。
从man systemd.mount
对systemd的231版本:
引用本地和网络文件系统的安装单元通过其文件系统类型规范加以区分。在某些情况下,这还不够(例如,基于网络块设备的安装,例如iSCSI),在这种情况下,可以将_netdev添加到单元的安装选项字符串中,这迫使系统将安装单元视为网络安装。
_netdev
不是传递给执行mount的过程的参数(并且特定于mount的类型,例如ext4/btrfs/cifs/fuse
),而是由其他进程/脚本读取,该进程/脚本基于此标志来决定何时在引导过程中,应执行这些安装。是?如果是这样,那么我怀疑这就是为什么该论点以下划线开头,以便与其他正式论点区分开来的原因。