[Linuxの]にsystemdおよびSysV
転送:https://www.cnblogs.com/EasonJim/p/7168216.html
それはsystemdにしてDebian8に存在するとはsysvinit、NTPは/etc/init.d/ntpで起動することです
まず、変更履歴ツールに対応した以下のUbuntuの実行レベル(INIT)を理解:
1は、Ubuntu 6.10および以前のバージョンはsysvinit。
2、Ubuntuの14.10とそれ以前のバージョン成り上がりだけでなく、共存はsysvinitを保ちます。
https://wiki.ubuntu.com/Upstart
https://help.ubuntu.com/community/UpstartHowto
3、Ubuntuの15.04スタートにsystemdのデフォルトを使用していますが、はsysvinitや成り上がり共存の両方を使用することを選択したかにsystemd成り上がりのブートオプションが、することはできません。
https://wiki.ubuntu.com/SystemdForUpstartUsers
Linuxのinitの発展の歴史全体:
https://zh.wikipedia.org/wiki/Init
sysvinit、成り上がり、systemdに:3つのシステムの詳細
sysvinit:https://www.ibm.com/developerworks/cn/linux/1407_liuming_init1/index.html
成り上がり:https://www.ibm.com/developerworks/cn/linux/1407_liuming_init2/index.html
systemdに:https://www.ibm.com/developerworks/cn/linux/1407_liuming_init3/index.html
概要はsysvinit:
他の二つの場合、それは主にシェルスクリプトで、/etc/init.dのフォルダに配置され、主に比較的長い歴史をはsysvinit、その使用を導入Ubuntuでてきました。そして、サービスを開始するには、更新-rc.dのコマンドを達成するために操作レベルを介して実行。以下は、いくつかのサービスに関連して記述されたスクリプトです。
実際には、ドキュメント/etc/init.d/READMEに、システムによって提供
https://gist.github.com/naholyr/4275302
https://www.cyberciti.biz/tips/linux-write-sys-v-init-script-to-start-stop-service.html
投稿者:stackexchangeの答え
混沌答えは、いくつかのドキュメントが言うことです。しかし、それはありません実際にsystemdものではないのです。(これは、バンSmoorenburgではない何 rc
のいずれか。、やった バンSmoorenburgが rc
最も間違い なかった LSBヘッダ、無視 insserv
、Freedesktopのマニュアルを参照して、その結果、「非互換性」ページとして初心者のための静的な順序付けを計算するために使用されるが、。)に、実際には間違っていますこれらおよび他のポイント。( HOME
実際には、環境変数が され 、多くの場合、例えば、設定します。これは完全に行ってきました長い時間のためにどこでも文書化されていない。今はマニュアルに記載されています、少なくとも、しかしFreedesktop WWWページがまだ修正されていないこと。)
systemdにのネイティブサービスの形式は、 サービスユニット。systemdのサービス管理は適切に動作 だけで 、それは(システム全体)9つのいずれかのディレクトリから読み込むもの、という点で .service
ファイルを生きることができます。 /etc/systemd/system
、 /run/systemd/system
、 /usr/local/lib/systemd/system
、および /usr/lib/systemd/system
これらのディレクトリの4です。
バンSmoorenburgの互換性 rc
スクリプトは、名前の変換プログラムで達成されます systemd-sysv-generator
。このプログラムは、にリストされている /usr/lib/systemd/system-generators/
ディレクトリので、起動のたびに初期のブートストラッププロセス中にsystemdにより自動的に実行され、そして再びsystemdに毎回、後にその設定を再ロードするように指示されています。
このプログラムは、 発電機、その仕事(唯一の発電機で使用されることが意図されている)、これらの9つのディレクトリの3以上が配置されているのtmpfsに、その場でサービスユニットファイルを作成することである補助的なユーティリティのタイプ。 systemd-sysv-generator
バンSmoorenburgの実行サービス単位発生 rc
からスクリプトを /etc/init.d
、それがすでに他の6つの場所に存在し、その名前でネイティブにsystemdサービスユニットが見つからない場合は、。
systemdにサービス管理は、サービス単位について知っています。これらは、自動的に(再)サービス単位はバンSmoorenburgの呼び出すために書かれている生成され rc
たスクリプトを。彼らは他のものの中で、持っています:
[単位] ソースパス=は/ etc / init.dディレクトリ/ wibble [サービス] ExecStart =の/ etc / init.dディレクトリ/ wibble開始 ExecStop =の/ etc / init.dディレクトリ/ wibble停止
受信した知恵は、バン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に世界で「時代遅れ」で、あなたはそれらを忘れることができます。
ます。https://www.cnblogs.com/jinanxiaolaohu/p/10943338.htmlで再現