Dpkg

擊敗 rabbitmq-server dpkg 自動啟動

  • September 8, 2017

我需要在 Ubuntu 上安裝 rabbitmq-server。Rabbitmq-server 嘗試在安裝時自行啟動,然後在許多 dpkg 和 apt-get 命令上啟動。(根據說明讓它在安裝時執行是故意的。)在這個盒子上,rabbitmq 伺服器無法啟動,大約需要一分鐘才能放棄。我不想解決這個問題。我想讓它不會在我跑步時嘗試啟動,比如說

apt-get install something-not-related-to-rabbitmq

當我這樣做時,不僅安裝包需要非常長的時間,而且100即使包本身安裝得很好,它也會退出。這是發生的事情的一個片段:

$ sudo apt-get install fortune
Reading package lists... Done

-- SNIP --

Unpacking fortunes-min (1:1.99.1-7) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up rabbitmq-server (3.6.0-1) ...
* Starting message broker rabbitmq-server                                                                                                                                                                                                                                       * FAILED - check /var/log/rabbitmq/startup_\{log, _err\}
                                                                                                                                                                                                                                                                        [fail]
invoke-rc.d: initscript rabbitmq-server, action "start" failed.
dpkg: error processing package rabbitmq-server (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up librecode0:amd64 (3.6-21) ...
Setting up fortune-mod (1:1.99.1-7) ...
Setting up fortunes-min (1:1.99.1-7) ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
Errors were encountered while processing:
rabbitmq-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
$ echo $?
100

我寧願不解除安裝它,因為我最終打算使用它。但坦率地說,我認為它劫持了我的 dpkg 有點瘋狂,我會很感激能幫助我用火來消滅這個小錯誤。

解決此問題的一種簡單方法是使安裝後開始無操作。與所有其他 postinst 腳本一樣,rabbitmq-server.postinst位於 中/var/lib/dpkg/info,並且 jessie 版本包含以下行:

# Automatically added by dh_installinit
if [ -x "/etc/init.d/rabbitmq-server" ]; then
       update-rc.d rabbitmq-server defaults >/dev/null
       invoke-rc.d rabbitmq-server start || exit $?
fi

只需註釋掉整個部分,什麼都不會發生。或者您可以嘗試僅註釋掉invoke-rc.d rabbitmq-server start || exit $

引用自:https://unix.stackexchange.com/questions/257042