12.10でシステムサービスはどのように開始されますか?


12

Ubuntuで私をいつも混乱させた1つのことは、システムサービスがどのように開始されるかでした。UbuntuはUpstartを使用し、SysVをサポートしていることを知っていますが、サービスの開始に使用するのはどれですか?これは、サービスを「手動」で開始する場合に重要です。

たとえば、私のシステムでは、/etc/init.d/<service>(SysV)と/etc/init/<service>.conf(Upstart)のいずれかに次のサービスのファイルがあります。

acpid, mysql, networking, qemu-kvm, ufw, libvirt-bin

起動時にMySQLの実行を無効にする場合、Upstart方法またはSysV方法を使用して無効にする必要がありますか?また、どのサービスが実際に汎用サービスの開始に使用されているかをどのように確認できますか?

編集

ここでの本当の疑問は、SysV / Upstartを使用したサービスの無効化/有効化ではありません。私を本当に混乱させているのは、一部のサービスがSysVとUpstartで同時に定義(および有効化)されているように見えることです。それらの間に優先順位はありますか(mysqlSysVを使用して両方を起動する場合など)。または、あるツールが他のツールをバックグラウンドで使用する場合がありますか?


1
ここで受け入れられている答えをご覧ください:askubuntu.com/questions/133807/…には、いくつかの興味深いリンクがあります。
リンツウィンド

回答:


2

SysVとupstartの両方で定義されているサービスについては、通常、SysVを使用して再起動すると、次のようなものが表示されます。

al@al-mythtv:~$ sudo /etc/init.d/mysql restart
[sudo] password for al: 
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop mysql ; start mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 29846

つまり、これらのサービスにはUpstartが優先され、SysV実装は単なるラッパーにすぎません。

また、ディレクトリの意味は後方にあると思います。/ etc / initはupstart構成、/ etc / init.dはSysV互換性ですが、これらのタイプのサービスのupstartへの単なるシンボリックリンクです。


6

主にアプリケーションとそのパッケージメンテナーに依存します。

Upstartスクリプトはイベントを処理するため(これは一般的に素晴らしいことです)、Upstartスクリプトを強く好みますが、多くのアプリケーションでは十分なUpstartスクリプトが利用できないか、アプリケーションのメンテナーがデフォルト(アプリケーションまたはDebianの) 。

いずれにせよ、あなたは適応しなければならない立場にいます。

  • Upstartの場合:
    • ファイルの名前を終了しない名前に変更する.conf、または
    • manualファイルに追加します。これにより、手動でサービスをロードできます。
  • 古いサービスの場合:

    update-rc.d -f <service> remove
    

あなたが持っている場合は/etc/init.d/、何かのためのスクリプトおよび/etc/init/スクリプトを、あなたはinit.dのバージョンがまだ生きているかどうかを確認したい、あなたがチェックすることができます。

ls -l /etc/rc?.d/*<service>

シンボリックリンクが大量にある場合は、古いSysV initにインストールされています。


SysVおよびUpstartで有効になっているサービス(たとえば、acpid)がある場合、SysVによって起動されると想定できますか?または、それを無効にしたい場合update-rc.dは、名前変更のトリックを使用して行う必要がありますか?
セーラム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.