Systemd vs init.d在LSB头中指定systemd依赖项

我有一个基于systemd的系统,它包含一个带有LSB头的System V样式init.d脚本.必须仅在装入fstab中的所有文件系统后启动init.d脚本.如何在LSB头中指定此类依赖关系?
当你说你检查文件系统挂载时,很明显你会在找到并挂载后运行它,但是不清楚的是如果找不到它,你想要它做什么?

我问,因为一个可能的答案是肯定的,在LSB中,运行级别决定了这一点.在Linux / Unix启动时,文件系统在运行级别1可用.因此,在LSB标题“Default-Start:2 3 4 5”中设置.然后,将文件系统安装条目放在/ etc / fstab中,并可选择将其设置为“bootwait”以挂起系统,并防止转换到运行级别2,直到它安装,无论需要多长时间.这实际上是(远程)文件系统超级关键时如何配置某些系统.

否则,答案是否定的,您无法仅在LSB标头条目本身内检查是否存在已安装的分区.而且,由于您允许此特定系统在没有此特定文件系统的情况下启动,因此文件系统显然不够“重要”,无法挂起等待挂载可用性的系统.

需要考虑的是,如果您希望在未安装文件系统时根本不运行,因为您试图在另一个init脚本中满足“required-Start:”依赖关系?希望不是因为你可以看到你正在滑下一个非常滑坡的init脚本依赖项.

希望你想要它不运行,因为如果它运行,它会像填充根文件系统那样混乱(而不是作为init依赖)?然后,您可以让它运行,但只需编写init脚本代码,以便适当地检查和退出.检查文件系统挂载的逻辑,如果没有找到,退出可能是一行代码.它可以在LSB头之后插入.

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...