
デーモン (例: 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
。
これらの機能を提供するスクリプトは、スタートアップ システムの一部としてインストールされたパッケージによって配置されます。たとえば、systemd
Debian Jessie にはがあります/lib/lsb/init-functions.d/40-systemd
。これは、サービスを再起動するときに少し異なるメッセージを出力します。ssh
私の場合は次のようになります。
[ ok ] Restarting ssh (via systemctl): ssh.service.
おそらく、正しいパッケージがインストールされていないか、ファイルが何らかの理由で削除されているか、使用しているパッケージのバージョンのどこかにバグがあるかのいずれかです。
両方のシステムで を実行してgrep -r Restarting /lib/lsb
、メッセージを生成するファイル (存在する場合) を見つけます。その後、 を使用して、dpkg -S <filename>
それをインストールしたパッケージを見つけることができます。