When installing some packages (like RabbitMQ) on Debian/Ubuntu machines, the post-install
step defaults to starting the service.
While this is great in most cases, in some cases (when you already have a service running on the needed port for example) this fails which makes apt-get
fail completely.
Is there a way to tell apt-get
to skip all those post-install
steps so it can still install properly?
Note This is not about questions during install, even in interactive sessions these installs fail because the post-install
step fails failure is not handled correctly
How do I ask apt-get to skip any interactive post-install configuration steps?
Edit: yes, that was for skipping (well, automating) post-install questions, true - sorry.
There is no way to skip post-install scripts. The official Debian policy is to edit the script to return a non-terminal error, or fix the script. See http://www.debian-administration.org/articles/251
It sounds like you're automating this for many servers, in which case, you'll probably want to make your own version of the package and deploy that. Another option is to email the package maintainer and discuss whether a failure-to-start should be a terminal error for post-install (I don't believe it is for other packages like apache or lighttpd, for example, but I could be wrong.)
What you may want to do is something with the policy-rc.d. See the man page for invoke-rc.d. You can set a policy so services will not be automatically started.
this should work