カオスの答えは、いくつかのドキュメントが言っていることです。しかし、それはsystemdが実際に行うことではありません。(これは、バンSmoorenburgではない何rc
のいずれか。、やった バンSmoorenburgがrc
最も間違いなかった LSBヘッダ、無視insserv
、Freedesktopのマニュアルを参照して、その結果、「非互換性」ページとして初心者のための静的な順序付けを計算するために使用されるが、。)に、実際には間違っていますこれらおよび他のポイント。(HOME
実際、環境変数はしばしば設定されます。これは長い間どこでもまったく文書化されていませんでした。少なくともマニュアルには文書化されましたが、Freedesktop WWWページはまだ修正されていません。)
systemdのネイティブサービス形式はサービスユニットです。systemdの適切なサービス管理は、それらに関してのみ機能し、(システム全体の).service
ファイルが存在できる9つのディレクトリの1つから読み取ります。 /etc/systemd/system
、/run/systemd/system
、/usr/local/lib/systemd/system
、および/usr/lib/systemd/system
これらのディレクトリの4です。
van Smoorenburg rc
スクリプトとの互換性は、という名前の変換プログラムで実現されsystemd-sysv-generator
ます。このプログラムは/usr/lib/systemd/system-generators/
ディレクトリにリストされているため、ブートするたびにブートストラッププロセスの早い段階でsystemdによって自動的に実行されます。
このプログラムはジェネレーターであり、補助的なユーティリティの一種であり、その目的はサービスユニットファイルをオンザフライで作成することであり、9つのディレクトリのうちさらに3つ(ジェネレーターのみが使用することを意図)がtmpfsにあります。 他の6つの場所に既に存在するその名前のネイティブsystemdサービスユニットが見つからない場合systemd-sysv-generator
、van Smoorenburg rc
スクリプトを実行するサービスユニットを生成し/etc/init.d
ます。
systemdサービス管理は、サービス単位のみを知っています。これらの自動(再)生成されたサービスユニットは、van Smoorenburg rc
スクリプトを呼び出すために記述されています。特に以下のものがあります。
[単位]
SourcePath = / etc / init.d / wibble
[サービス]
ExecStart = / etc / init.d / wibble start
ExecStop = / etc / init.d / wibble stop
van Smoorenburg rc
スクリプトにはLSBヘッダーが必要であり、/etc/rc?.d/
システムによって課せられた優先順位を尊重せずに並行して実行されるというのが、広く知られています。これはすべてのポイントで正しくありません。
実際に、彼らはLSBヘッダを持っている必要はありません、そして、彼らはしていない場合はsystemd-sysv-generator
(より限定された古いRedHatのコメントヘッダを認識することができdescription:
、pidfile:
など)。さらに、LSBヘッダーがない場合、/etc/rc?.d
シンボリックリンクファームのコンテンツにフォールバックし、リンク名にエンコードされた優先順位を読み取り、それらからの前後の順序を構築し、サービスをシリアル化します。LSBヘッダーが要件ではないだけでなく、物事をある程度シリアル化する順序付けの前後にヘッダー自体をエンコードするだけでなく、完全に存在しない場合のフォールバック動作は、実際には大幅に非並列化された操作です。
/etc/rc3.d
重要ではないように思われる理由は、おそらく別の/etc/rc?.d/
ディレクトリを介してそのスクリプトを有効にしていたからです。 systemd-sysv-generator
いずれかに記載されているされて平行移動さ/etc/rc2.d/
、/etc/rc3.d/
および/etc/rc4.d/
ネイティブにWanted-By
にsystemd年代との関係multi-user.target
。実行レベルはsystemdの世界では「時代遅れ」であり、忘れることができます。
参考文献