在Debian/Ubuntu机器上安装一些包(如RabbitMQ)时,post-install步骤默认为启动服务。
虽然这在大多数情况下都很好,但在某些情况下(例如,当您已经在所需的端口上运行一个服务时),这会导致apt-get完全失败。
有没有办法告诉apt-get跳过所有这些post-install步骤,以便仍然可以正确安装?
注这与安装期间的问题无关,即使在交互式会话中,这些安装也会失败,因为post-install步骤失败的处理不正确。
发布于 2012-01-09 03:28:54
export DEBIAN_FRONTEND=noninteractive
apt-get install -y [packagename]编辑:是的,那是为了跳过(嗯,自动)安装后的问题,真对不起。
没有办法跳过安装后脚本。Debian的官方策略是编辑脚本以返回非终端错误,或者修复脚本。请参阅http://www.debian-administration.org/articles/251
听起来您正在为许多服务器实现自动化,在这种情况下,您可能想要制作自己版本的包并进行部署。另一个选择是给包维护人员发电子邮件,讨论启动失败是否应该是安装后的终端错误(例如,我不认为其他包是apache或lighttpd,但我可能错了)。
发布于 2012-01-09 08:16:53
您可能想做的是使用策略-rc.d。请参见调用-rc.d的手册页。您可以设置策略,这样服务就不会自动启动。
发布于 2017-09-15 12:46:55
这应该能行
echo exit 101 > /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d
apt-get install <packagename>
rm -f /usr/sbin/policy-rc.dhttps://serverfault.com/questions/347937
复制相似问题