默认情况下,systemd 会在出现最轻微的错误时进入紧急 shell。例如,如果 fstab 中的一个挂载由于某种原因失败,系统将立即无法启动。我管理着数十个不同的生产系统,我发现这种行为非常具有破坏性。(实际上我认为这是一个重大的设计失败,但这是个人意见)。
我想增加系统启动弹性。最佳情况下,系统应该始终启动,缺少驱动程序、安装等不应该丢弃紧急外壳(只显示警告),除非给定的错误会使控制台登录绝对不可能。能跑的,应该跑的。
我知道 systemd 会自动从 /etc/fstab 生成 *.mount 文件,我可以使用 nofail 选项和小 x-systemd.device 超时(或自己定义相关的 .mount 文件)。但是它不能解决我的问题,我想让系统更有弹性,每次“修补”fstab 不是很方便,我不确定还有多少其他可能的“问题”会导致我的系统无法启动,因为某个地方的一些开发人员认为它足够重要。
总之,我想重新控制我的机器,而不是让 systemd 决定什么问题严重到足以破坏启动过程。是否可以?