我如何要求 apt-get 跳过所有安装后配置步骤?

Wol*_*lph 12 ubuntu debian apt

在 Debian/Ubuntu 机器上安装某些软件包(如 RabbitMQ)时,该post-install步骤默认为启动服务。

虽然这在大多数情况下很好,但在某些情况下(例如,当您已经在所需端口上运行了服务时)这会失败,从而apt-get导致完全失败。

有没有办法告诉apt-get跳过所有这些post-install步骤,以便它仍然可以正确安装?

注意这与安装过程中的问题无关,即使在交互式会话中,这些安装也会失败,因为post-install步骤失败失败没有正确处理

小智 9

我如何要求 apt-get 跳过任何交互式安装后配置步骤?

export DEBIAN_FRONTEND=noninteractive
apt-get install -y [packagename]
Run Code Online (Sandbox Code Playgroud)

编辑:是的,那是为了跳过(嗯,自动化)安装后问题,真的 - 抱歉。

无法跳过安装后脚本。Debian 的官方政策是编辑脚本以返回非终端错误,或修复脚本。请参阅http://www.debian-administration.org/articles/251

听起来您正在为许多服务器自动执行此操作,在这种情况下,您可能希望制作自己的软件包版本并进行部署。另一种选择是给包维护者发电子邮件,并讨论启动失败是否应该是安装后的终端错误(例如,我不相信它是针对其他包,如 apache 或 lighttpd,但我可能是错的.)


Zor*_*che 5

您可能想要做的是使用policy-rc.d。请参阅 invoke-rc.d 的手册页。您可以设置策略,使服务不会自动启动。