web-dev-qa-db-ja.com

Debianでサービスを無効にするための推奨される方法

Debianでサービスを無効にする「推奨される方法」はありますか? (無効=サービスはインストールされていますが、マシンの起動時に自動的に開始されません。)

update-rc.d -f service remove(基本的にrcX.d内のリンクを削除します)ができることは知っていますが、これを行うと、サービスのシーケンス番号(SXXservice、XXはシーケンス番号)が失われます。 、サービスを再度有効にしたい場合は、生活が困難になります。また、rcX.dのリンクの名前をSで始まらないように(または別の場所に移動して)変更できることも知っていますが、「Debianが承認したベスト」があるかどうか疑問に思いました。 -これを行うための「練習」方法。

10
Heinzi

Update-rc.dのmanページをご覧ください。 Init Script Linksのインストールという名前のセクションの3番目の段落は…

一般的なシステム管理エラーは、これによりサービスが「無効」になる、つまりサービスの開始が妨げられると考えてリンクを削除することです。ただし、すべてのリンクが削除されている場合、次にパッケージをアップグレードすると、パッケージのpostinstスクリプトがupdate-rc.dを再度実行し、工場出荷時のデフォルトの場所にリンクが再インストールされます。サービスを無効にする正しい方法は、デフォルトで開始されるすべてのランレベルで停止するようにサービスを構成することです。 System V initシステムでは、これはサービスのシンボリックリンクの名前をSからKに変更することを意味します。

最後の2つの文はあなたの質問に答えるはずです。 :-)

12
Convict

「sysv-rc-conf」ユーティリティを試して、生活を少し楽にすることができます。他のシステムのchkconfigツールです。

プロンプトで入力するだけです。

Sudo apt-get install sysv-rc-conf

乾杯!

5
unixbhaskar

実際、sysv-rc-confは、update-rc.dのマニュアルページでも推奨されるアプローチです。

このプログラムはパッケージメンテナースクリプトで使用するために設計されているため、そのようなスクリプトに必要な機能は非常に限られていることに注意してください。システム管理者は、update-rc.dを使用してランレベルを管理することはお勧めしません。リンクを直接編集するか、代わりにsysv-rc-confやbumなどのランレベルエディターを使用する必要があります。

2
lubomir.brindza

私が理解したように、「Debianのベストプラクティス」はパッケージをアンインストールするです。パッケージを使用していない場合は、パッケージをインストールしないでください。これが、Debianパッケージがすべてインストール時に開始するように構成されている理由です。

(実行せずにインストールすると便利ないくつかのパッケージには、通常、/etc/default/<packagename>構成ファイルに起動を無効にする設定があります。)

0
Teddy