Systemd与init.d在LSB头文件中指定systemd依赖关系

我有一个基于systemd的系统,它包含一个带有LSB头文件的System V风格的init.d脚本。 init.d脚本只能在挂载fstab中的所有文件系统后才能启动。 如何在LSB头文件中指定这种types的依赖关系?

当你说你检查一个文件系统挂载,很明显你会运行它,如果发现和挂载,但不清楚的是,如果没有find,你想要它做什么?

我问,因为一个可能的答案是肯定的,在LSB,这是决定这个的运行水平。 在Linux / Unix启动时,文件系统在运行级别1可用。因此,在您的LSB头文件“Default-Start:2 3 4 5”中设置。 然后,将文件系统挂载条目放在/ etc / fstab中,并可select将其设置为“bootwait”挂起系统,并防止转换到运行级别二,直到挂载,无论多长时间。 这实际上是(远程)文件系统超临界时如何configuration一些系统的。

否则,答案是否定的,只有在LSB头部条目本身内才能检查是否存在已装入的分区。 而且,由于你允许这个特定的系统在没有这个特定的文件系统的情况下启动,所以文件系统显然不足以挂起等待安装可用性的系统。

需要考虑的是,如果您希望在文件系统未挂载时完全不运行,因为您正试图在另一个init脚本中满足“Required-Start:”依赖项? 希望不是像你所看到的,你正在滑落一个非常滑的初始化脚本依赖关系。

希望你不希望它运行,因为如果这样做,它会像填充根文件系统(而不是一个init依赖)的东西弥补? 然后,您可以让它运行,但只需编写init脚本来检查并适当地退出。 检查文件系统mount的逻辑,如果没有find,退出,可能是一行代码。 它可以插在LSB头后面。