私はDebian jessieに切り替えましたが、グラフィカルディスプレイマネージャを含むほとんどのタスクはうまく動作していますwdm
。
問題は、これがどのように機能するのか理解していないことです。明らかにwdmをあらかじめそこに入れたときに起動しなかったので、私の/etc/init.d/wdm
スクリプトが呼び出されました。しかし、ディレクトリexit
の名前を変更することを選択した場合(私のデフォルトの実行レベルは3でした)、wdmはまだ起動します。/etc/rc3.d
systemdがこのスクリプトをどのように見つけるかはわかりませんし、他のすべてのinit.dスクリプトで実行されていることも理解できません。
- systemdはいつどのようにinit.dスクリプトを実行しますか?
- 長期的にinit.dスクリプトをすべて削除する必要がありますか?
ベストアンサー1
カオスへの答えはいくつかの文書に記載されています。しかし、それはsystemdが実際にやっていることではありません。 (これはVan Smulenbergがしたことではありませんrc
。 ヴァン・スグレンブルクrc
明らかにいいえまず、静的順序の計算に使用されるLSBヘッダーを無視してくださいinsserv
。 )Freedesktopドキュメント(「非互換性」ページ)は、これらの点とは異なる点で実際に間違っています。 (HOME
環境変数は実際にはいたとえば、頻繁に設定します。これは長い間どこにも文書化されていません。少なくとも、今はドキュメントに文書化されていますが、Freedesktop WWWページはまだ修正されていません。 )
systemd の基本サービス形式は次のとおりです。サービスユニット。 systemdのサービス管理が正常に実行されています。ホロこの目的のために、ファイルが存在する可能性のある9つのディレクトリ(システム全体)の1つから読み取られます.service
。 /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によって自動的に実行され、後でsystemdに設定を再ロードするように指示されたときはいつでも再実行されます。
このアプリは発電機、3つの追加ディレクトリ(ジェネレータのみ)があるtmpfsにサービス単位ファイルを動的に生成する作業を行うヘルパーユーティリティです。同じ名前の既存の基本システムサービスユニットが6つの異なる場所に見つからない場合、systemd-sysv-generator
van Smoorenburgスクリプトを実行するサービスユニットが作成されます。rc
/etc/init.d
システム化されたサービス管理はサービス単位のみを認識しています。自動的に(再)生成されたサービスユニットは、van Smoorenburgrc
スクリプトを呼び出すために作成されました。その中には以下が含まれます。
[単位] ソースパス=/etc/init.d/wibble [提供する] ExecStart=/etc/init.d/wibbleを起動 ExecStop=/etc/init.d/wibble 停止
よく知られている通念は、van Smoorenburgrc
スクリプトに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
systemdのデフォルトの関係に変換します。ランレベルはシステムの世界で「昔ながら」なので忘れてしまうかもしれません。/etc/rc2.d/
/etc/rc3.d/
/etc/rc4.d/
Wanted-By
multi-user.target
追加読書
- systemd-sysv-ジェネレータ。システムのマニュアルページ。 freedesktop.org.
- 「ビルドプロセスの環境変数」。
systemd.exec
。システムのマニュアルページ。 freedesktop.org. - https://unix.stackexchange.com/a/394191/5132
- https://unix.stackexchange.com/a/204075/5132
- https://unix.stackexchange.com/a/196014/5132
- https://unix.stackexchange.com/a/332797/5132