Dpkg
擊敗 rabbitmq-server dpkg 自動啟動
我需要在 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 $
。