
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 つの文があなたの質問に対する答えになるはずです。:-)
答え2
「sysv-rc-conf」ユーティリティを試して、生活を少し楽にすることができます。これは、他のシステムの chkconfig ツールに似ています。
プロンプトに入力するだけです:
sudo apt-get で sysv-rc-conf をインストールします
乾杯!
答え3
実際、sysv-rc-conf
このアプローチは update-rc.d のマニュアル ページでも推奨されています。
このプログラムはパッケージ メンテナー スクリプトで使用するために設計されているため、そのようなスクリプトに必要な機能は非常に限られていることに注意してください。システム管理者は、runlevels を管理するために update-rc.d を使用することは推奨されません。代わりに、リンクを直接編集するか、sysv-rc-conf や bum などの runlevel エディターを使用する必要があります。
答え4
私が理解したところによると、「Debianのベストプラクティス」とはパッケージをアンインストールする使用していないパッケージはインストールしないでください。Debian パッケージがすべてインストール時に起動するように設定されているのはそのためです。
(実行せずにインストールしておくと便利なパッケージはいくつかありますが、通常、構成ファイル内に起動を無効にする設定があります/etc/default/<packagename>
。)