
是否有「建議的方法」來停用 Debian 中的服務? (停用=該服務已安裝,但在電腦啟動時不會自動啟動。)
我知道您可以update-rc.d -f service remove
(這基本上刪除了 中的連結rcX.d
),但是這樣做會丟失服務的序號(SXXservice
,其中 XX 是序號),當您想要重新啟用該服務時,生活會變得更加困難。我也知道我可以重命名鏈接,rcX.d
這樣它們就不會以S
(或將它們移到其他地方)開頭,但我想知道是否有一些“Debian 批准的最佳實踐”方法可以做到這一點。
答案1
查看 update-rc.d 手冊頁。該節的第三段名為安裝初始化腳本連結讀...
一個常見的系統管理錯誤是刪除鏈接,並認為這將“禁用”服務,即,這將阻止服務啟動。但是,如果所有連結都已刪除,則下次升級軟體包時,軟體包的 postinst 腳本將再次執行 update-rc.d,這將在其出廠預設位置重新安裝連結。禁用服務的正確方法是將服務配置為在預設啟動的所有運行等級中停止。在 System V init 系統中,這表示將服務的符號連結從 S 重新命名為 K。
最後兩句話應該可以回答你的問題。 :-)
答案2
您可以嘗試“sysv-rc-conf”實用程序,讓您的生活變得更輕鬆。更多的是其他系統的chkconfig工具。
只需在提示符號處輸入:
sudo apt-get install sysv-rc-conf
乾杯!
答案3
實際上,sysv-rc-conf
update-rc.d 手冊頁也推薦這種方法:
請注意,該程式是為在套件維護者腳本中使用而設計的,因此,僅具有此類腳本所需的非常有限的功能。不鼓勵系統管理員使用 update-rc.d 來管理運行等級。他們應該直接編輯連結或使用運行級別編輯器,例如 sysv-rc-conf 和 bum。
答案4
據我了解,「Debian 最佳實踐」是解除安裝軟體包。如果您不使用軟體包,則不應安裝它們。這就是 Debian 軟體包全部配置為在安裝時啟動的原因。
(那些無需運行即可安裝的少數軟體包通常在其/etc/default/<packagename>
設定檔中具有禁用啟動的設定。)