[再印刷] [Linuxの]にsystemdおよびSysV

オリジナルリンク: http://www.cnblogs.com/jinanxiaolaohu/p/10943338.html

[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で再現

おすすめ

転載: blog.csdn.net/weixin_30747253/article/details/95179464