当我启动/停止/重新启动守护程序(例如 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
目录中。很可能您没有任何可以提供良好输出的东西。
该lsb-base
软件包提供了/lib/lsb/init-functions
源自您的 init 脚本的脚本。这为产生输出的函数提供了存根,这些输出通过在/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>
来查找安装它的包。