Debian のデーモン /etc/init.d メッセージ

Debian のデーモン /etc/init.d メッセージ

デーモン (例: apache2) を起動/停止/再起動しても、メッセージが表示されません。私は Debian テスト (jessie) を使用しています。

私の古いサーバー (Debian テストも) では、次のメッセージが表示されます:

root@old-server # /etc/init.d/apache2 restart
[ ok ] Restarting web server: apache2.

ただし、新しいサーバーではそうではありません:

root@new-server # /etc/init.d/apache2 restart

これらのメッセージを表示するにはどうすればいいでしょうか?

/etc/init.d/apache2 スクリプト (両方のサーバーで同じ):http://pastebin.com/RWHpSymG

ありがとう!

答え1

出力を提供する関数はディレクトリにインストールされています/lib/lsb/init-functions.d。おそらく、そこには適切な出力を提供するものは何もありません。

パッケージは、init スクリプトによってソースされるスクリプトlsb-baseを提供します/lib/lsb/init-functions。これは、 内の各ファイルをソースすることでオーバーライドされる出力を生成する関数のスタブを提供します/lib/lsb/init-functions.d

これらの機能を提供するスクリプトは、スタートアップ システムの一部としてインストールされたパッケージによって配置されます。たとえば、systemdDebian Jessie にはがあります/lib/lsb/init-functions.d/40-systemd。これは、サービスを再起動するときに少し異なるメッセージを出力します。ssh私の場合は次のようになります。

[ ok ] Restarting ssh (via systemctl): ssh.service.

おそらく、正しいパッケージがインストールされていないか、ファイルが何らかの理由で削除されているか、使用しているパッケージのバージョンのどこかにバグがあるかのいずれかです。

両方のシステムで を実行してgrep -r Restarting /lib/lsb、メッセージを生成するファイル (存在する場合) を見つけます。その後、 を使用して、dpkg -S <filename>それをインストールしたパッケージを見つけることができます。

関連情報