Debian で起動時にデーモンが起動しないようにする方法

Debian で起動時にデーモンが起動しないようにする方法

起動時に起動しないように一部のデーモンを無効にしました。たとえば、次のようにします。

 sudo update-rc.d -f postgresql remove

コマンドが正しいかどうかはわかりません。どこで取得したのか覚えていません。

とにかくアップグレードするたびにpostgresql、設定が失われます(つまり、再起動時にデーモンが起動します)。

答え1

update-rc.d元のパッケージアップグレードスクリプトで使用されました。removeパッケージの削除時に呼び出され、すべてのリンクを削除します。defaultsパッケージのインストール時に呼び出さenableれるか、disabledebconfに従って使用でき、システム管理者に役立ちます。実際、クリーニングはremoveサービスを無効にするのには役に立ちません。マニュアルページから:

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

sudo update-rc.d postgresql disablerc.dシンボリックリンクを保持しますが、K(kill、stop)プレフィックスがあるため、必要に応じて実行されます。これを復元するために使用しますenable。一部のサービスはファイルの無効化をサポートしています/etc/defaults/$serviceが、残念ながら例外もあります。サービスを無効にする別の方法は、ファイルをchmod -xまたはファイルの/etc/init.d/$service先頭に挿入することです。exit 0

答え2

Tobuが提供した答えに似た最良の解決策を明確にするために、次のことを行います。

  1. 欲しくないupdate-rc.dオプションと一緒に使用されますremove
  2. 代わりにupdate-rc.dこのdisableオプションと一緒に使用してください。

例:update-rc.d postgresql disable


またはを使用して、より具体的な他のサービスを見つけて無効にすることもできますsystemctl

例:systemctl disable pppd-dns.service

答え3

Tobuの言葉は絶対に正しいですが、完全性のためにインテリジェントな概要を提供するツールがありますsysv-rc-conf。コピーして貼り付けるには:

apt-get install sysv-rc-conf

これを実行すると、sysv-rc-confどのスクリプトがどのランレベルで実行されているかを確認できます。でサービスを有効/無効にspaceしてログアウトできますq

関連情報