【问题标题】:start tomcat during the .deb installation在 .deb 安装期间启动 tomcat
【发布时间】:2012-04-13 21:13:55
【问题描述】:

我创建了一个 deb。与我的应用程序一起打包,我应该在安装结束时启动 lig​​httpd(postinst 脚本)。问题是如何启动 lig​​httpd 并且不锁定终端。它应该以某种方式在后台启动...

谢谢。

【问题讨论】:

  • 最后,我发现了一些奇怪的事情...如果我在postinst 的末尾开始invoke-rc.d xxxx start 脚本lighttpd 将在前台启动。但是,如果我手动启动 invoke-rc.d xxxx start,lighttpd 将在后台启动。为什么会这样?
  • 我找到了解决方案 [fifi.org/doc/debconf-doc/tutorial.html#AEN198].我在invoke-rc.d xxxx start 之后添加了db_stop,并且postinst 脚本可以正常工作。

标签: daemon lighttpd deb post-install


【解决方案1】:

为了向其他人澄清,您正在使用 Debconf 配置模块在您的 postinst (http://stackoverflow.com/q/10139395/193468) 中向用户提问。 confmodule(debconf 交互机制的基于 shell 的接口)做了可怕的魔法,以便重新执行它所在的脚本,管道进出单独的 debconf 进程。这很混乱,尤其是当您需要在同一个脚本中执行其他操作时,需要以某种方式排列文件描述符和拥有的 TTY(如调用 initscripts 时)。这就是为什么不建议在 postinst 中使用 db_input 的原因。但你似乎已经让它工作了,所以,那太好了。我只想指出,添加db_stop 并不总能为有类似问题的人解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    相关资源
    最近更新 更多