我已阅读该帖子的答案/评论 /etc/init.d/ssh start 和 service ssh start 的区别。
但我需要这个/etc/init.d
方法有效。我有一些自动生成的脚本,它们/etc/init.d
只调用方法。您能否为我提供一些修复/解决方法?
答案1
最后一个答案是解决defense4all
安装时出现“无法启动 rsyslog 服务”问题的方法。该问题是由 rsyslog 的错误引起的(可能是我在其他网站上发现的),您可以使用service rsyslog
而不是,因此您可以在代码文件/etc/init.d/rsyslog
中编辑文件来解决这个问题。defense4all
在文件中:
../defense4all/dfapp.aggregate/src/install/config_rsyslog.bash
修改最后几句:
/etc/init.d/rsyslog stop > /dev/null
到:
service rsyslog stop
和:
/etc/init.d/rsyslog stop > /dev/null
到:
service rsyslog start
然后重建项目以创建.deb 或.rpm 文件。希望这对您有所帮助。
答案2
您遇到此问题是因为较新的 Ubuntu 中的 rsyslog 脚本是由 upstart 而不是传统的 init 守护进程处理的。
我在上面的评论中看到了您的修复。另一种允许您的自动化脚本继续使用的解决方法/etc/init.d/rsyslog start|stop
是 -
编辑文件/etc/init.d/rsyslog
,注释/删除以下代码块的所有实例 -
if init_is_upstart; then
exit 1 (or exit 0)
fi
现在
/etc/init.d/rsyslog start|stop
应该管用。
有关详细信息,请参阅For more information, see这。