複数のデーモンプロセスにUpstartスクリプトとinit.dスクリプトが同時にあるのはなぜですか? [閉鎖]

複数のデーモンプロセスにUpstartスクリプトとinit.dスクリプトが同時にあるのはなぜですか? [閉鎖]

私はUbuntu 12.04.3 LTSを実行しており、Samba、DHCPサーバーなどのいくつかのサービスがインストールされています。

「halt now」、「telinit 6」などのコマンドを実行すると、次の警告が表示されます。

Since the script you are attempting to invoke has been converted
to an Upstart job, you may also use the...

影響を受けたサービスが2回停止/開始しようとしていることがわかります。一度はUpstart操作を介して、再びinit.dスクリプトの/etc/rcN.dフォルダのS/Kシンボリックリンクを介して。おそらく、/etc/rcN.dフォルダからシンボリックリンクを簡単に削除できます。

プロセス例:

  1. シェルで「今すぐ停止」を実行します。
  2. UpstartはSambaを停止します(SambaにUpstart confファイルがあるため)。
  3. SysVはSambaを再び停止しようとします(まだ/etc/rc0.d/K20smbdシンボリックリンクがあるため)。

不要に見えて醜い警告が表示されるため、手順3を理解していないか望ましくありません。

複数のデーモンがUpstartスクリプトとinit.dスクリプトへのシンボリックリンクを同時に持つのはなぜですか?各/etc/rcN.dフォルダに重複したシンボリックリンクを手動でクリーンアップする必要があります。これは正しい方法ですか?

ベストアンサー1

initUbuntuには、実行するたびにそのupstartを呼び出す互換性リンクがあります。

たとえば、電話をかけてsudo /etc/init.d/apache startupstart-jobに接続すると、使用する必要がある有用な情報メッセージが表示され、それsudo services apache start自体でコマンドが実行されます。

ls -l /etc/init.d/network-manager 
lrwxrwxrwx 1 root root 21 Sep 18 14:02 /etc/init.d/network-manager -> /lib/init/upstart-job

cat /lib/init/upstart-job
#!/bin/sh -e
# upstart-job
#
# Symlink target for initscripts that have been converted to Upstart.
{ lots of ASCII awesomeness }

おすすめ記事