我有一个postinst
看起来像这样的脚本。
但是,当我在脚本的最后一行启动服务时,脚本postinst
会挂起并且不会进入终端状态
#!/bin/sh
set -e
# Source debconf library.
. /usr/share/debconf/confmodule
mkdir -p /var/www
mkdir -p /var/log/robotasarouter
rm -f /var/www/robot_configuration_interface
ln -s /usr/share/robot_configuration_interface /var/www/
pip install virtualenv
cd /var/www/robot_configuration_interface
virtualenv env
. env/bin/activate
pip install -r requirements.txt
update-rc.d robot-configuration-interface defaults 90 >/dev/null
service robot-configuration-interface start
答案1
这个 postinst 脚本在很多方面都违反了规则,以至于您不能指望它通常表现得正常。它很可能挂起,因为它将意外的输出发送到stdout
. Read man debconf-devel
,它明确禁止这样做。